<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Win32k: mdiwin.c 源文件</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Win32k
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a00200_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">mdiwin.c</div>  </div>
</div><!--header-->
<div class="contents">
<a href="a00200.html">浏览该文件的文档.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a03620.html">precomp.h</a>&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma hdrstop</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160; </div>
<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="a00200.html#a3bec45c5537ca74d7f74881ae16e2bb6">   15</a></span>&#160;<span class="preprocessor">#define TITLE_EXTRA 5</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="a00200.html#a5bbf30d87062dc2978b61c091b234e87">   16</a></span>&#160;<span class="preprocessor">#define MAX_TITLE_LEN 160</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="a00200.html#a8551c78886421c2ca121c2a881c801ae">   30</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="a00200.html#a8551c78886421c2ca121c2a881c801ae">IsPositionable</a>(</div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd,</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> uFlags, BOOL fSkipOutside)</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;{</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    RECT    rcT;</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="comment">// mikesch - removed the maximized check since the call</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="comment">// to restore maximized windows in unmaximizechildwindows occurs</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="comment">// asynchronously now.</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="keywordflow">return</span>( TestWF(pwnd, WFVISIBLE) &amp;&amp;</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;            TestWF(pwnd, WFCPRESENT) &amp;&amp;</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;            !TestWF(pwnd, WFMINIMIZED) &amp;&amp;</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;            !TestWF(pwnd, WEFTOPMOST) &amp;&amp;</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;            (!(uFlags &amp; MDITILE_SKIPDISABLED) || !TestWF(pwnd, WFDISABLED)) &amp;&amp;</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;            !TestWF(pwnd, WEFTOOLWINDOW) &amp;&amp;</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;             (!fSkipOutside || <a class="code" href="a00935.html#a1c87c29903dd37145cd93b64140a5d3a">IntersectRect</a>(&amp;rcT,</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;                    &amp;REBASEPWND(pwnd, spwndParent)-&gt;rcClient, &amp;pwnd-&gt;<a class="code" href="a02581.html#a2778d611c2b27395e559c94d05732e1f">rcWindow</a>)));</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;}</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="a00200.html#afc19505c53fa29e5b27e73caf1296446">   61</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="a00200.html#afc19505c53fa29e5b27e73caf1296446">xxxSetFrameTitle</a>(</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndFrame,</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndMDI,</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    LPWSTR lpch)</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;{</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd;</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <a class="code" href="a01961.html">PMDI</a> pmdi;</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    WCHAR sz[<a class="code" href="a00200.html#a5bbf30d87062dc2978b61c091b234e87">MAX_TITLE_LEN</a>];</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    HWND  hwndFrame = HW(pwndFrame);</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwndFrame);</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwndMDI);</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">     * Get a pointer to the MDI structure</span></div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    pmdi = ((<a class="code" href="a00257.html#a8fbbab4c887a01986a0cf83e1fba2554">PMDIWND</a>)pwndMDI)-&gt;pmdi;</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <span class="keywordflow">if</span> (HIWORD(lpch) || !LOWORD(lpch)) {</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keywordflow">if</span> (HTITLE(pmdi)) {</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;            UserLocalFree(HTITLE(pmdi));</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        }</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        HTITLE(pmdi) = <a class="code" href="a03638.html#a16fd457263dd41cbe1f41a4495bc85fe">TextAlloc</a>(lpch);</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    }</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keywordflow">if</span> (HTITLE(pmdi)) {</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        <a class="code" href="a02457.html">LARGE_UNICODE_STRING</a> str;</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <span class="keywordtype">int</span> cch;</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        <a class="code" href="a00365.html#a4dddfac60ddaa5a11f91719826b7b270">RtlInitLargeUnicodeString</a>(&amp;str, HTITLE(pmdi), (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        <a class="code" href="a00365.html#abdca6a2346c0c6e4e7857a9edd89be3f">TextCopy</a>(&amp;str, sz, <span class="keyword">sizeof</span>(sz)/<span class="keyword">sizeof</span>(WCHAR));</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        <span class="keywordflow">if</span> (MAXED(pmdi) &amp;&amp; (pwnd = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(MAXED(pmdi))) &amp;&amp; pwnd-&gt;<a class="code" href="a02581.html#a5242d6e2f6cd000e8a85dcd824104ec4">strName</a>.<a class="code" href="a02457.html#abfb371817eb1c8f0d8a165bb2b798092">Length</a>) {</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;            cch = <a class="code" href="a00200.html#a5bbf30d87062dc2978b61c091b234e87">MAX_TITLE_LEN</a> - ((str.<a class="code" href="a02457.html#abfb371817eb1c8f0d8a165bb2b798092">Length</a> / <span class="keyword">sizeof</span>(WCHAR)) + <a class="code" href="a00200.html#a3bec45c5537ca74d7f74881ae16e2bb6">TITLE_EXTRA</a>);</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;            <span class="keywordflow">if</span> (cch &gt; 0) {</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;                wcscat(sz, TEXT(<span class="stringliteral">&quot; - [&quot;</span>));</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;                wcsncat(sz, REBASE(pwnd, strName.Buffer), cch - 1);</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;                wcscat(sz, TEXT(<span class="stringliteral">&quot;]&quot;</span>));</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;            }</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        }</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        sz[0] = 0;</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    }</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <a class="code" href="a03611.html#a2a39ced7839ed0c5501c9fde2f3a930b">_DefSetText</a>(hwndFrame, sz, FALSE);</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    <span class="keywordflow">if</span> (lpch == (LPWSTR)1L)</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        NtUserRedrawFrameAndHook(hwndFrame);</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lpch != (LPWSTR)2L) {</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        <span class="keywordflow">if</span> (!NtUserRedrawTitle(hwndFrame, DC_TEXT))</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;            NtUserRedrawFrame(hwndFrame);</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    }</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;}</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="a00200.html#aaa6de7d4c7a0d0f485d7769181b4d568">  125</a></span>&#160;BOOL <a class="code" href="a00200.html#aaa6de7d4c7a0d0f485d7769181b4d568">TranslateMDISysAccel</a>(</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    LPMSG lpMsg)</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;{</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd;</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <a class="code" href="a01961.html">PMDI</a> pmdi;</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="keywordtype">int</span> event;</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="comment">     * Is this a message we care about?</span></div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keywordflow">if</span> (lpMsg-&gt;message != WM_KEYDOWN &amp;&amp; lpMsg-&gt;message != WM_SYSKEYDOWN) {</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    }</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="comment">     * This is called within a message loop. If the window gets destroyed,</span></div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;<span class="comment">     * there still may be other messages in the queue that get returned</span></div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;<span class="comment">     * after the window is destroyed. The app will call TranslateAccelerator()</span></div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;<span class="comment">     * on every one of these, causing RIPs.... Make it nice so it just</span></div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="comment">     * returns FALSE.</span></div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="keywordflow">if</span> ((pwnd = <a class="code" href="a00257.html#a9064f50a1f637e01f5af3f1421d5a798">ValidateHwndNoRip</a>(hwnd)) == NULL) {</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <a class="code" href="a00371.html#ae61d954062a9ece52e350e54cad9a23d">RIPERR0</a>(ERROR_INVALID_WINDOW_HANDLE, <a class="code" href="a00371.html#ad6b24a3d61abdc148c8751b5c5add686">RIP_VERBOSE</a>, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    }</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;<span class="comment">     * Make sure this is really an MDIClient window. Harvard Graphics 2.0</span></div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="comment">     * calls this function with a different window class and caused us</span></div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="comment">     * to get an access violation.</span></div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <span class="keywordflow">if</span> (GETFNID(pwnd) != FNID_MDICLIENT) {</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;Window not of MDIClient class&quot;</span>);</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    }</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="comment">     * Get a pointer to the MDI structure</span></div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    pmdi = ((<a class="code" href="a00257.html#a8fbbab4c887a01986a0cf83e1fba2554">PMDIWND</a>)pwnd)-&gt;pmdi;</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160; </div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keywordflow">if</span> (!ACTIVE(pmdi))</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160; </div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="a03743.html#aab0ab7d08c2998b438644c5a8f8da2b9">IsWindowEnabled</a>(ACTIVE(pmdi)))</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; </div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="keywordflow">switch</span> (lpMsg-&gt;wParam) {</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    <span class="keywordflow">case</span> VK_F4:</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        <span class="keyword">event</span> = SC_CLOSE;</div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <span class="keywordflow">case</span> VK_F6:</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keywordflow">case</span> VK_TAB:</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="a03611.html#a02faeb6792094207ff4900c5b480dab2">GetKeyState</a>(VK_SHIFT) &lt; 0)</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;            event = SC_PREVWINDOW;</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        <span class="keywordflow">else</span></div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;            <span class="keyword">event</span> = SC_NEXTWINDOW;</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;        <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    }</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160; </div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;<span class="comment">     * All of these have the control key down</span></div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="a03611.html#a02faeb6792094207ff4900c5b480dab2">GetKeyState</a>(VK_CONTROL) &gt;= 0)</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="a03611.html#a02faeb6792094207ff4900c5b480dab2">GetKeyState</a>(VK_MENU) &lt; 0)</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160; </div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    SendMessage(ACTIVE(pmdi), WM_SYSCOMMAND, event, MAKELONG(lpMsg-&gt;wParam, 0));</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    <span class="keywordflow">return</span> TRUE;</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;}</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160; </div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160; </div>
<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="a00200.html#a2f2ff3094243b2931fe48fa6fffa5a28">  210</a></span>&#160;<span class="preprocessor">#define SBJ_HORZ  HAS_SBHORZ</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="a00200.html#a14820667180a6a7070a334b85e32a73a">  211</a></span>&#160;<span class="preprocessor">#define SBJ_VERT  HAS_SBVERT</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="a00200.html#a38a2e35769a08001190bca774958068e">  212</a></span>&#160;<span class="preprocessor">#define SBJ_BOTH  (SBJ_HORZ | SBJ_VERT)</span></div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160; </div>
<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="a00200.html#a7e1f58dcf9e7338ae1028807e7a190a2">  214</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="a00200.html#a7e1f58dcf9e7338ae1028807e7a190a2">ByteOutsetRect</a>(LPRECT lprc)</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;{</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <span class="keywordtype">int</span> FAR *pi;</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;    <span class="keywordtype">int</span> i;</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160; </div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    <span class="keywordflow">for</span> (i = 0, pi = (<span class="keywordtype">int</span> FAR *) lprc; i &lt; 4; i++, pi++) {</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <span class="keywordflow">if</span> (*pi &gt; 0)</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;            *pi += 7;</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*pi &lt; 0)</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;            *pi -= 7;</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160; </div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        *pi /= 8;</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    }</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;}</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160; </div>
<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="a00200.html#a56ca0e7e2d55ef100c76181eea1eee44">  229</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="a00200.html#a56ca0e7e2d55ef100c76181eea1eee44">CalcClientScrolling</a>(HWND hwnd, <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> sbj, BOOL fIgnoreMin)</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;{</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd;</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    RECT rcScroll;</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    RECT rcClient;</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    RECT rcRange;</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    RECT rcT;</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndT;</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    BOOL fVert;</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    BOOL fHorz;</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;    BYTE fHadVert, fHadHorz;</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    BOOL fCheckVert;</div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    BOOL fCheckHorz;</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    BOOL fNeedScrolls;</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    SCROLLINFO si;</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160; </div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    <span class="keywordflow">if</span> ((pwnd = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwnd)) == NULL) {</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;    }</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160; </div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="comment">// do nothing if the parent is iconic.  This way, we don&#39;t add invisible</span></div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="comment">// scrollbars which will paint and unpaint when restoring...</span></div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keywordflow">if</span> (TestWF(pwnd, WFMINIMIZED))</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160; </div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    fVert = FALSE;</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    fHorz = FALSE;</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    fNeedScrolls=FALSE;</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160; </div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    fCheckHorz = (sbj &amp; <a class="code" href="a00200.html#a2f2ff3094243b2931fe48fa6fffa5a28">SBJ_HORZ</a>);</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    fCheckVert = (sbj &amp; <a class="code" href="a00200.html#a14820667180a6a7070a334b85e32a73a">SBJ_VERT</a>);</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160; </div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;    <span class="comment">// find client area without scroll bars</span></div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <a class="code" href="a00935.html#a31ccccdb469eefbb55d18b71a26af0da">CopyRect</a>(&amp;rcClient, &amp;pwnd-&gt;<a class="code" href="a02581.html#a17d59d04094aef8b577c0aa781cdf2c6">rcClient</a>);</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160; </div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    fHadVert = TestWF(pwnd, WFVSCROLL);</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    <span class="keywordflow">if</span> (fCheckVert &amp;&amp; fHadVert)</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        rcClient.right += SYSMET(CXVSCROLL);</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160; </div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    fHadHorz = TestWF(pwnd, WFHSCROLL);</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;    <span class="keywordflow">if</span> (fCheckHorz &amp;&amp; fHadHorz)</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        rcClient.bottom += SYSMET(CYHSCROLL);</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160; </div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;    <span class="comment">// find the rectangle that bounds all visible child windows</span></div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <a class="code" href="a00935.html#a6f9d1e9b327899127c080496900d48d9">SetRectEmpty</a>(&amp;rcScroll);</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160; </div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="keywordflow">for</span> (pwndT = REBASEPWND(pwnd, spwndChild); pwndT;</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;            pwndT = REBASEPWND(pwndT, spwndNext)) {</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        <span class="keywordflow">if</span> (fIgnoreMin &amp;&amp; TestWF(pwndT, WFMINIMIZED))</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;            <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160; </div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;        <span class="keywordflow">if</span> (TestWF(pwndT,WFVISIBLE)) {</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;            <span class="keywordflow">if</span> (TestWF(pwndT, WFMAXIMIZED)) {</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;                fNeedScrolls = FALSE;</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;                <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;            }</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160; </div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="comment">             * add this window to the area that has to be visible</span></div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;            <a class="code" href="a00935.html#ae447c29296398f6e6ae0f28d192e606d">UnionRect</a>(&amp;rcScroll, &amp;rcScroll, &amp;pwndT-&gt;<a class="code" href="a02581.html#a2778d611c2b27395e559c94d05732e1f">rcWindow</a>);</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160; </div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">             * add scroll bars if its not contained in the</span></div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="comment">             * client area</span></div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;            <a class="code" href="a00935.html#ae447c29296398f6e6ae0f28d192e606d">UnionRect</a>(&amp;rcT, &amp;rcClient, &amp;pwndT-&gt;<a class="code" href="a02581.html#a2778d611c2b27395e559c94d05732e1f">rcWindow</a>);</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;            <span class="keywordflow">if</span> (!<a class="code" href="a00935.html#a0cbc8750cb300c339ef3d2c0ca689f1a">EqualRect</a>(&amp;rcClient, &amp;rcT)) {</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;                fNeedScrolls = TRUE;</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;            }</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;        }</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    }</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160; </div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    <a class="code" href="a00935.html#a6f9d1e9b327899127c080496900d48d9">SetRectEmpty</a>(&amp;rcRange);</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160; </div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    <span class="comment">// offset rectangles such that rcClient&#39;s top &amp; left are both 0</span></div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <span class="comment">// making rcClient&#39;s right &amp; bottom be the page size</span></div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;    <a class="code" href="a00935.html#a59a3cfdacf3d0e5d10c20abee032cfc6">OffsetRect</a>(&amp;rcScroll, -rcClient.left, -rcClient.top);</div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;    <a class="code" href="a00935.html#a59a3cfdacf3d0e5d10c20abee032cfc6">OffsetRect</a>(&amp;rcClient, -rcClient.left, -rcClient.top);</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160; </div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <span class="keywordflow">if</span> (!fNeedScrolls)</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;        rcClient.bottom = rcClient.right = 0;</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">do</span></div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    {</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="comment">             * the range is the union of the parent client with all of its</span></div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<span class="comment">             * children</span></div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;        <a class="code" href="a00935.html#a31ccccdb469eefbb55d18b71a26af0da">CopyRect</a>(&amp;rcT, &amp;rcRange);</div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;        <a class="code" href="a00935.html#ae447c29296398f6e6ae0f28d192e606d">UnionRect</a>(&amp;rcRange, &amp;rcScroll, &amp;rcClient);</div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160; </div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        <span class="keywordflow">if</span> (fCheckVert) {</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;            <span class="comment">// subtract off space for the vertical scroll if we need it</span></div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;            <span class="keywordflow">if</span> (((rcRange.bottom - rcRange.top) &gt; rcClient.bottom) &amp;&amp; !fVert) {</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;                fVert = TRUE;</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;                rcClient.right -= SYSMET(CXVSCROLL);</div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;            }</div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        }</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160; </div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;        <span class="keywordflow">if</span> (fCheckHorz) {</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;            <span class="comment">// subtract off space for the horizontal scroll if we need it</span></div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;            <span class="keywordflow">if</span> (((rcRange.right - rcRange.left) &gt; rcClient.right) &amp;&amp; !fHorz) {</div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;                fHorz = TRUE;</div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;                rcClient.bottom -= SYSMET(CYHSCROLL);</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;            }</div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;        }</div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    }</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    <span class="keywordflow">while</span> (!<a class="code" href="a00935.html#a0cbc8750cb300c339ef3d2c0ca689f1a">EqualRect</a>(&amp;rcRange, &amp;rcT));</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160; </div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;    <span class="keywordflow">if</span> (fNeedScrolls) {</div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;        <span class="comment">// HACK of death beginning</span></div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        <span class="keywordflow">if</span> (rcRange.right == rcClient.right)</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;            rcRange.right -= 8;</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160; </div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;        <span class="keywordflow">if</span> (rcRange.bottom == rcClient.bottom)</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;            rcRange.bottom -= 8;</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        <span class="comment">// HACK of death ending</span></div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    }</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160; </div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;    <span class="keywordflow">if</span> (fCheckVert) {</div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160; </div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="comment">         * check to see if we are changing the presence of the vertical</span></div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="comment">         * scrollbar</span></div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;        <span class="keywordflow">if</span> ((rcRange.bottom - rcRange.top) &lt;= rcClient.bottom) {</div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;            <a class="code" href="a00026.html#a0cecedf7a462633cf5456292b526d8ec">ClearWindowState</a>(pwnd, WFVSCROLL);</div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;            <a class="code" href="a00026.html#ab4added876586c5164dae9aaba3e7691">SetWindowState</a>(pwnd, WFVSCROLL);</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;       }</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    }</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160; </div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;    <span class="keywordflow">if</span> (fCheckHorz) {</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160; </div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;<span class="comment">         * same for horizontal scroll</span></div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        <span class="keywordflow">if</span> ((rcRange.right - rcRange.left) &lt;= rcClient.right) {</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;            <a class="code" href="a00026.html#a0cecedf7a462633cf5456292b526d8ec">ClearWindowState</a>(pwnd, WFHSCROLL);</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;            <a class="code" href="a00026.html#ab4added876586c5164dae9aaba3e7691">SetWindowState</a>(pwnd, WFHSCROLL);</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;        }</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;    }</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160; </div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <span class="keywordflow">if</span> (fNeedScrolls) {</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;        <a class="code" href="a00200.html#a7e1f58dcf9e7338ae1028807e7a190a2">ByteOutsetRect</a>(&amp;rcClient);</div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;        <a class="code" href="a00200.html#a7e1f58dcf9e7338ae1028807e7a190a2">ByteOutsetRect</a>(&amp;rcRange);</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    }</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160; </div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    si.cbSize   = <span class="keyword">sizeof</span>(SCROLLINFO);</div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    si.fMask    = SIF_ALL;</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    si.nPos     = 0;</div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160; </div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    si.nMin     = rcRange.left;</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    si.nMax     = rcRange.right;</div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;    si.nPage    = rcClient.right;</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160; </div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;    <a class="code" href="a00362.html#a790ab491160804ab82699e9f0edb5077">NtUserSetScrollInfo</a>(hwnd, SB_HORZ, &amp;si, FALSE);</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160; </div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    si.nMin     = rcRange.top;</div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    si.nMax     = rcRange.bottom;</div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;    si.nPage    = rcClient.bottom;</div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160; </div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    <a class="code" href="a00362.html#a790ab491160804ab82699e9f0edb5077">NtUserSetScrollInfo</a>(hwnd, SB_VERT, &amp;si, FALSE);</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160; </div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;    <span class="keywordflow">if</span> ((fHadVert != TestWF(pwnd, WFVSCROLL)) ||</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        (fHadHorz != TestWF(pwnd, WFHSCROLL)))</div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    NtUserRedrawFrame(hwnd);</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;}</div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160; </div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160; </div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160; </div>
<div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="a00200.html#abf4a780c26348531b4b105c9d7d325dd">  410</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="a00200.html#abf4a780c26348531b4b105c9d7d325dd">ScrollMDIChildren</a>(</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;    <span class="keywordtype">int</span> nCtl,</div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wCmd,</div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;    <span class="keywordtype">int</span> iThumbPos)</div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;{</div>
<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;    SCROLLINFO  si;</div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;    <span class="keywordtype">int</span> wInc;</div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <span class="keywordtype">int</span> wNewPos;</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    <span class="comment">//SHORT sPos;</span></div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;    <span class="keywordtype">int</span>          x, y;</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160; </div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;    wInc = (((nCtl == SB_VERT) ? SYSMET(CYSIZE) : SYSMET(CXSIZE)) + 7) / 8;</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160; </div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    si.cbSize   = <span class="keyword">sizeof</span>(SCROLLINFO);</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;    si.fMask    = SIF_ALL;</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    <a class="code" href="a00263.html#ad8538f97a4c88898ed54c5aa17c58d09">GetScrollInfo</a>(hwnd, nCtl, &amp;si);</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160; </div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    si.nPage--;</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    si.nMax -= si.nPage;</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160; </div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    <span class="keywordflow">switch</span> (wCmd) {</div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;    <span class="keywordflow">case</span> SB_BOTTOM:</div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;        wNewPos = si.nMax;</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;    <span class="keywordflow">case</span> SB_TOP:</div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;        wNewPos = si.nMin;</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    <span class="keywordflow">case</span> SB_LINEDOWN:</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;        wNewPos = si.nPos + wInc;</div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    <span class="keywordflow">case</span> SB_LINEUP:</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;        wNewPos = si.nPos - wInc;</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    <span class="keywordflow">case</span> SB_PAGEDOWN:</div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;        wNewPos = si.nPos + si.nPage;</div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    <span class="keywordflow">case</span> SB_PAGEUP:</div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;        wNewPos = si.nPos - si.nPage;</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    <span class="keywordflow">case</span> SB_THUMBPOSITION:</div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160; </div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;        wNewPos = iThumbPos;</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    <span class="keywordflow">case</span> SB_ENDSCROLL:</div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;        <a class="code" href="a00200.html#a56ca0e7e2d55ef100c76181eea1eee44">CalcClientScrolling</a>(hwnd, (nCtl == SB_VERT) ? <a class="code" href="a00200.html#a14820667180a6a7070a334b85e32a73a">SBJ_VERT</a> : <a class="code" href="a00200.html#a2f2ff3094243b2931fe48fa6fffa5a28">SBJ_HORZ</a>, FALSE);</div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160; </div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;<span class="comment">     ** FALL THRU **</span></div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;    <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;        <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    }</div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160; </div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;    <span class="keywordflow">if</span> (wNewPos &lt; si.nMin)</div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;        wNewPos = si.nMin;</div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (wNewPos &gt; si.nMax)</div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        wNewPos = si.nMax;</div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160; </div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;    <a class="code" href="a03659.html#acba242818ccab104e8e1cd389ea86a6f">SetScrollPos</a>(hwnd, nCtl, wNewPos, TRUE);</div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160; </div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;    <span class="comment">// the &quot;* 8&quot; is because we need to scroll in bytes.  The scrollbar</span></div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    <span class="comment">// increments for MDI are bytes (this is due to the fact that we need to</span></div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;    <span class="comment">// not upset the brush origin of the app workspace brush that is used to</span></div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;    <span class="comment">// fill the MDI background)</span></div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160; </div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    x = (si.nPos - wNewPos) * 8;</div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160; </div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    <span class="keywordflow">if</span> (nCtl == SB_VERT) {</div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;        y = x;</div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        x = 0;</div>
<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;    } <span class="keywordflow">else</span></div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;        <span class="comment">// x is already set properly for this case</span></div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        y = 0;</div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160; </div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;    <a class="code" href="a00362.html#ab79fb1908c7da8bfc42396a59d16eb20">NtUserScrollWindowEx</a>(hwnd, x, y, NULL, NULL, NULL, NULL,</div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;           SW_SCROLLWINDOW | SW_INVALIDATE | SW_ERASE | SW_SCROLLCHILDREN);</div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;}</div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160; </div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160; </div>
<div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="a00200.html#acc07148d787e75e81dc9956f3ed16491">  490</a></span>&#160;VOID <a class="code" href="a00200.html#acc07148d787e75e81dc9956f3ed16491">ScrollChildren</a>(</div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wMsg,</div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> wParam)</div>
<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;{</div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    <a class="code" href="a00200.html#abf4a780c26348531b4b105c9d7d325dd">ScrollMDIChildren</a>(hwnd,</div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;                      wMsg == WM_VSCROLL ? SB_VERT : SB_HORZ,</div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;                      LOWORD(wParam),</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;                      (<span class="keywordtype">short</span>)(HIWORD(wParam)));</div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;}</div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160; </div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160; </div>
<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160; </div>
<div class="line"><a name="l00510"></a><span class="lineno"><a class="line" href="a00200.html#a1a5df2316cee93109da9da469578f07a">  510</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="a00200.html#a1a5df2316cee93109da9da469578f07a">RecalculateScrollRanges</a>(</div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndParent,</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    BOOL fIgnoreMin)</div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;{</div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    <a class="code" href="a01961.html">PMDI</a> pmdi = ((<a class="code" href="a00257.html#a8fbbab4c887a01986a0cf83e1fba2554">PMDIWND</a>)pwndParent)-&gt;pmdi;</div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160; </div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    <span class="keywordflow">if</span> (!(SCROLL(pmdi) &amp; (CALCSCROLL | SCROLLCOUNT))) {</div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="a00356.html#a3f53b9d5a549a62853c4e3fb22b649d7">PostMessage</a>(HWq(pwndParent), MM_CALCSCROLL, fIgnoreMin, 0L)) {</div>
<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;            SCROLL(pmdi) |= CALCSCROLL;</div>
<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;        }</div>
<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    }</div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;}</div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160; </div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160; </div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160; </div>
<div class="line"><a name="l00532"></a><span class="lineno"><a class="line" href="a00200.html#afa61bb94691880f75c76fcd4dee2a2d8">  532</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="a00200.html#afa61bb94691880f75c76fcd4dee2a2d8">GetCascadeWindowPos</a>(</div>
<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;    LPCRECT prcClient,</div>
<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;    <span class="keywordtype">int</span> iWindow,</div>
<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;    LPRECT lprc)</div>
<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;{</div>
<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;    <span class="keywordtype">int</span> cStack;</div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;    <span class="keywordtype">int</span> xStep, yStep;</div>
<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;    <span class="keywordtype">int</span> dxClient, dyClient;</div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160; </div>
<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;<span class="comment">     * Compute</span></div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;<span class="comment">     * the width and breadth of the situation.</span></div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;    dxClient = prcClient-&gt;right - prcClient-&gt;left;</div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;    <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>(dxClient &gt;= 0);</div>
<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;    dyClient = prcClient-&gt;bottom - prcClient-&gt;top;</div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;    <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>(dyClient &gt;= 0);</div>
<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160; </div>
<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;<span class="comment">     * Compute the width and breadth of the window steps.</span></div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;    xStep = SYSMET(CXSIZEFRAME) + SYSMET(CXSIZE);</div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;    yStep = SYSMET(CYSIZEFRAME) + SYSMET(CYSIZE);</div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160; </div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;<span class="comment">     * How many windows per stack?</span></div>
<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    cStack = dyClient / (3 * yStep);</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160; </div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;    lprc-&gt;right = dxClient - (cStack * xStep);</div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;    lprc-&gt;bottom = dyClient - (cStack * yStep);</div>
<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160; </div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;<span class="comment">     * HACK!: Mod by cStack+1 and make sure no div-by-zero</span></div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<span class="comment">     * exception happens.</span></div>
<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;    <span class="keywordflow">if</span> (++cStack &lt;= 0) {</div>
<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;        cStack = 1;</div>
<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;    }</div>
<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160; </div>
<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;    lprc-&gt;left = prcClient-&gt;left + (iWindow % cStack) * xStep;</div>
<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    lprc-&gt;top = prcClient-&gt;top + (iWindow % cStack) * yStep;</div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;}</div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160; </div>
<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160; </div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160; </div>
<div class="line"><a name="l00585"></a><span class="lineno"><a class="line" href="a00200.html#a1db637f8c3fdec4178771555cae9e11e">  585</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="a00200.html#a1db637f8c3fdec4178771555cae9e11e">MDICheckCascadeRect</a>(</div>
<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndClient,</div>
<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;    LPRECT lprc)</div>
<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;{</div>
<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;    <a class="code" href="a01961.html">PMDI</a> pmdi;</div>
<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;    RECT rc, rcClient;</div>
<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    <span class="keywordtype">int</span>         iWindow;</div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160; </div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;<span class="comment">     * Get a pointer to the MDI structure</span></div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    pmdi = ((<a class="code" href="a00257.html#a8fbbab4c887a01986a0cf83e1fba2554">PMDIWND</a>)pwndClient)-&gt;pmdi;</div>
<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160; </div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;    iWindow = ITILELEVEL(pmdi);</div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160; </div>
<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    <a class="code" href="a00365.html#a373eb8782e10ebad75e466db8d01ebe0">_GetClientRect</a>(pwndClient, &amp;rcClient);</div>
<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    <a class="code" href="a00200.html#afa61bb94691880f75c76fcd4dee2a2d8">GetCascadeWindowPos</a>(&amp;rcClient, iWindow, &amp;rc);</div>
<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160; </div>
<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;    <span class="keywordflow">if</span> ((lprc-&gt;right == CW_USEDEFAULT || lprc-&gt;right == CW2_USEDEFAULT) ||</div>
<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;            !(lprc-&gt;right)) {</div>
<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;        lprc-&gt;right = rc.right;</div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    }</div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160; </div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    <span class="keywordflow">if</span> ((lprc-&gt;bottom == CW_USEDEFAULT || lprc-&gt;bottom == CW2_USEDEFAULT) ||</div>
<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;            !(lprc-&gt;bottom)) {</div>
<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;        lprc-&gt;bottom = rc.bottom;</div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    }</div>
<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160; </div>
<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;    <span class="keywordflow">if</span> (lprc-&gt;left == CW_USEDEFAULT || lprc-&gt;left == CW2_USEDEFAULT) {</div>
<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;        lprc-&gt;left = rc.left;</div>
<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;        lprc-&gt;top = rc.top;</div>
<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;    }</div>
<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;}</div>
<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160; </div>
<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160; </div>
<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160; </div>
<div class="line"><a name="l00631"></a><span class="lineno"><a class="line" href="a00200.html#aa37dfcece35f127593222d093992608c">  631</a></span>&#160;BOOL <a class="code" href="a00200.html#aa37dfcece35f127593222d093992608c">UnmaximizeChildWindows</a>(</div>
<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;    HWND hwndParent)</div>
<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;{</div>
<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;    HWND hwndMove;</div>
<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndMove;</div>
<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;    BOOL fFoundOne = FALSE;</div>
<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;    BOOL fAsync;</div>
<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> chwnd;</div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;    HWND *phwndList;</div>
<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;    HWND *phwnd;</div>
<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;    HWND hwndChild = <a class="code" href="a03743.html#a72ab23f7e5d7d08157db573dc8666aff">GetWindow</a>(hwndParent, GW_CHILD);</div>
<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160; </div>
<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;<span class="comment">     * Get the hwnd list.  It is returned in a block of memory</span></div>
<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;<span class="comment">     * allocated with LocalAlloc.</span></div>
<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;    <span class="keywordflow">if</span> (hwndChild == NULL ||</div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;            (chwnd = <a class="code" href="a00017.html#a38f9f1cda93f580ed3ac238d15bd06f7">BuildHwndList</a>(NULL, <a class="code" href="a03743.html#a72ab23f7e5d7d08157db573dc8666aff">GetWindow</a>(hwndParent, GW_CHILD),</div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;                                   FALSE, 0, &amp;phwndList)) == 0) {</div>
<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;        <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;    }</div>
<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160; </div>
<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;    fAsync = (hwndParent == <a class="code" href="a03743.html#a0a4b4ffaef0371b526a03f68506e6a80">GetDesktopWindow</a>());</div>
<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160; </div>
<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;    <span class="keywordflow">for</span> (phwnd = phwndList; chwnd &gt; 0; chwnd--, phwnd++) {</div>
<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;        <span class="keywordflow">if</span> ((hwndMove = *phwnd) == NULL)</div>
<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;            <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160; </div>
<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;        <span class="keywordflow">if</span> ((pwndMove = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndMove)) == NULL)</div>
<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;            <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160; </div>
<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;<span class="comment">// Not in Chicago -- FritzS</span></div>
<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;<span class="comment">//        if (pwndMove-&gt;spwndOwner != NULL)</span></div>
<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;<span class="comment">//            continue;</span></div>
<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160; </div>
<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;        <span class="keywordflow">if</span> (TestWF(pwndMove, WFMAXIMIZED) &amp;&amp; TestWF(pwndMove, WFVISIBLE)) {</div>
<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;            <span class="comment">//</span></div>
<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;            <span class="comment">// If we haven&#39;t done it yet, lock the screen to prevent sending</span></div>
<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;            <span class="comment">// paints for a cleaner update.</span></div>
<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;            <span class="comment">//</span></div>
<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;            <span class="keywordflow">if</span> (!fFoundOne &amp;&amp; fAsync)</div>
<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;                <a class="code" href="a00362.html#a62d555d64578412042377f774c909d43">NtUserLockWindowUpdate</a>(hwndParent);</div>
<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160; </div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;            fFoundOne = TRUE;</div>
<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160; </div>
<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;            <span class="keywordflow">if</span> (fAsync)</div>
<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;                <a class="code" href="a00362.html#a16b745ee1032a7027469dea5551c0831">NtUserShowWindowAsync</a>(hwndMove, SW_SHOWNOACTIVATE);</div>
<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;                <a class="code" href="a00362.html#af2e007664f2c2b68908d086861b77ddb">NtUserShowWindow</a>(hwndMove, SW_SHOWNORMAL);</div>
<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;        }</div>
<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;    }</div>
<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160; </div>
<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;    UserLocalFree(phwndList);</div>
<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160; </div>
<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;    <span class="keywordflow">if</span> (fFoundOne &amp;&amp; fAsync) {</div>
<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160; </div>
<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;        HWND hwndActive = <a class="code" href="a00362.html#adf4cf9f0fae9564a6e388dfb3a16a9e0">NtUserGetForegroundWindow</a>();</div>
<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;        <span class="keywordflow">if</span> (hwndActive != NULL) {</div>
<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160; </div>
<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;<span class="comment">             * Hack! Since the above showwindows cause zorder changes, we want</span></div>
<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;<span class="comment">             * the active window to be in front.  This makes sure...</span></div>
<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;            <a class="code" href="a00362.html#a97ea52174705d791899a9df860aab676">NtUserSetWindowPos</a>(hwndActive, HWND_TOP, 0, 0, 0, 0,</div>
<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;                SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE | SWP_ASYNCWINDOWPOS);</div>
<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160; </div>
<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;        }</div>
<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;        <a class="code" href="a00362.html#a62d555d64578412042377f774c909d43">NtUserLockWindowUpdate</a>(NULL);</div>
<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;        <a class="code" href="a03611.html#a4dfda995bf0f082361527377e6e63833">RedrawWindow</a>(hwndParent, NULL, NULL,</div>
<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;                RDW_INVALIDATE | RDW_ALLCHILDREN | RDW_ERASE | RDW_FRAME);</div>
<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;    }</div>
<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160; </div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;    <span class="keywordflow">return</span> fFoundOne;</div>
<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;}</div>
<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160; </div>
<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160; </div>
<div class="line"><a name="l00714"></a><span class="lineno"><a class="line" href="a00200.html#a94ff0ec22950f82017c679c1e1a2054c">  714</a></span>&#160;WORD <a class="code" href="a00200.html#a94ff0ec22950f82017c679c1e1a2054c">CascadeWindows</a>(</div>
<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;    HWND hwndParent,</div>
<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> flags,</div>
<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;    CONST RECT *lpRect,</div>
<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> chwnd,</div>
<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;    CONST HWND *ahwnd)</div>
<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;{</div>
<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;    <a class="code" href="a02581.html">PWND</a>    pwndParent;</div>
<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;    RECT    rcClient;</div>
<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;    RECT    rc;</div>
<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;    HDWP    hdwp;</div>
<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>    ihwnd;</div>
<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>    chwndReal;</div>
<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;    HWND    * phwnd = NULL;</div>
<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>    wFlags;</div>
<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;    BOOL    fSkipOutside;</div>
<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160; </div>
<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;    <span class="comment">// Get parent window</span></div>
<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;    <span class="keywordflow">if</span> (!hwndParent)</div>
<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;        hwndParent = <a class="code" href="a03743.html#a0a4b4ffaef0371b526a03f68506e6a80">GetDesktopWindow</a>();</div>
<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160; </div>
<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;    <span class="keywordflow">if</span> ((pwndParent = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndParent)) == NULL) {</div>
<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;        <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;    }</div>
<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwndParent);</div>
<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160; </div>
<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;    fSkipOutside = (hwndParent == <a class="code" href="a03743.html#a0a4b4ffaef0371b526a03f68506e6a80">GetDesktopWindow</a>());</div>
<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160; </div>
<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;    <a class="code" href="a00200.html#aa37dfcece35f127593222d093992608c">UnmaximizeChildWindows</a>(hwndParent);</div>
<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160; </div>
<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;    <span class="comment">// Get arranging rect</span></div>
<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;    <span class="keywordflow">if</span> (lpRect == NULL) {</div>
<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;        <span class="comment">// if we&#39;re tiling on the desktop and we aren&#39;t showing icons,</span></div>
<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;        <span class="comment">//     then don&#39;t do GRC_MINWNDS</span></div>
<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;        <span class="comment">// if we&#39;re not doing ArrangeIconWindows, then don&#39;t do GRC_MINWNDS</span></div>
<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;        <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> uGRCFlags =</div>
<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;            (((pwndParent == <a class="code" href="a03743.html#a6fff890dabd74b268fbcba3368ecc560">_GetDesktopWindow</a>()) &amp;&amp; (SYSMET(ARRANGE) &amp; ARW_HIDE)) ||</div>
<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;             !NtUserArrangeIconicWindows(hwndParent)) ? GRC_SCROLLS : GRC_SCROLLS | GRC_MINWNDS;</div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160; </div>
<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;        <a class="code" href="a00365.html#a3bcfad2fca870b484811dc73379657f9">GetRealClientRect</a>(pwndParent, &amp;rcClient, uGRCFlags);</div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;        lpRect = &amp;rcClient;</div>
<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;    }</div>
<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160; </div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;    <span class="comment">// Get window list</span></div>
<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;    <span class="keywordflow">if</span> (ahwnd == NULL) {</div>
<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;        HWND hwndChild;</div>
<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;        <a class="code" href="a02581.html">PWND</a> pwndChild;</div>
<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160; </div>
<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;        pwndChild = REBASEPWND(pwndParent, spwndChild);</div>
<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;        hwndChild = HW(pwndChild);</div>
<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;        <span class="keywordflow">if</span> ((hwndChild == NULL) ||</div>
<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;                (chwnd = <a class="code" href="a00017.html#a38f9f1cda93f580ed3ac238d15bd06f7">BuildHwndList</a>(NULL, hwndChild,</div>
<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;                                         FALSE, 0, &amp;phwnd)) == 0) {</div>
<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;            <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;        }</div>
<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;    }</div>
<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160; </div>
<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;    <span class="comment">// Arrange windows</span></div>
<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;    chwndReal = 0;</div>
<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160; </div>
<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;    hdwp = NtUserBeginDeferWindowPos(chwnd);</div>
<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;    <span class="keywordflow">if</span> (hdwp == NULL)</div>
<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;        <span class="keywordflow">goto</span> Done;</div>
<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160; </div>
<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;    <span class="keywordflow">for</span> (ihwnd = 1; ihwnd &lt;= chwnd; ihwnd++) {</div>
<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;        HWND    hwndChild;</div>
<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;        <a class="code" href="a02581.html">PWND</a>    pwndChild = NULL;</div>
<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160; </div>
<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;        <span class="keywordflow">if</span> (phwnd != NULL) {</div>
<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;            hwndChild = phwnd[chwnd - ihwnd];</div>
<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;            <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>(hwndChild != (HWND)1);</div>
<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160; </div>
<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;            <span class="keywordflow">if</span> (hwndChild != NULL) {</div>
<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;                pwndChild = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndChild);</div>
<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;                <span class="keywordflow">if</span> (pwndChild == NULL)</div>
<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;                    hwndChild = NULL;</div>
<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;            }</div>
<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;            hwndChild = (ahwnd[chwnd-ihwnd]);</div>
<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;            <span class="keywordflow">if</span> (hwndChild != NULL) {</div>
<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;                pwndChild = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndChild);</div>
<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;                <span class="keywordflow">if</span> (pwndChild == NULL)</div>
<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;                    hwndChild = NULL;</div>
<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;            }</div>
<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;            <span class="keywordflow">if</span> ((pwndChild != NULL) &amp;&amp; (REBASEPWND(pwndChild, spwndParent) != pwndParent)) {</div>
<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;                <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;USERSRV: CascadeWindows: windows in list must have same parent&quot;</span>);</div>
<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;                hwndChild = NULL;</div>
<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;                pwndChild = NULL;</div>
<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;            }</div>
<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;        }</div>
<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160; </div>
<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;        <span class="comment">//</span></div>
<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;        <span class="comment">// Skip windows that no longer exist or aren&#39;t valid according to</span></div>
<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;        <span class="comment">// the MDITILE_SKIP flags.</span></div>
<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;        <span class="comment">//</span></div>
<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;        <span class="keywordflow">if</span> ((pwndChild == NULL) || !<a class="code" href="a00200.html#a8551c78886421c2ca121c2a881c801ae">IsPositionable</a>(pwndChild, flags, fSkipOutside))</div>
<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;            <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160; </div>
<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;        <a class="code" href="a00200.html#afa61bb94691880f75c76fcd4dee2a2d8">GetCascadeWindowPos</a>(lpRect, chwndReal, &amp;rc);</div>
<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;        chwndReal++;</div>
<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160; </div>
<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;        wFlags = SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOCOPYBITS;</div>
<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;        <span class="keywordflow">if</span> (!TestWF(pwndChild, WFSIZEBOX))</div>
<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;                wFlags |= SWP_NOSIZE;</div>
<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160; </div>
<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;        hdwp = <a class="code" href="a00362.html#a0378399157cfb4978d4062c0baa5ffc9">NtUserDeferWindowPos</a>(hdwp, hwndChild, HWND_TOP, rc.left,</div>
<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;                rc.top, rc.right, rc.bottom, wFlags);</div>
<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    }</div>
<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160; </div>
<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;    <span class="comment">// Make this arrangement asynchronous so we don&#39;t hang</span></div>
<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;    <a class="code" href="a00362.html#a8c789c94f5d786b6ee30f9b02fffc2f5">NtUserEndDeferWindowPosEx</a>(hdwp, TRUE);</div>
<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160; </div>
<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;Done:</div>
<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;    <span class="keywordflow">if</span> (phwnd)</div>
<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;        UserLocalFree(phwnd);</div>
<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160; </div>
<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;    <span class="keywordflow">return</span>(chwndReal);</div>
<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;}</div>
<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160; </div>
<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160; </div>
<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160; </div>
<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160; </div>
<div class="line"><a name="l00849"></a><span class="lineno"><a class="line" href="a00200.html#a47a4c70a9495eab3183ca740118195f9">  849</a></span>&#160;WORD <a class="code" href="a00200.html#a47a4c70a9495eab3183ca740118195f9">TileWindows</a>(</div>
<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;    HWND hwndParent,</div>
<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> flags,</div>
<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;    CONST RECT *lpRect,</div>
<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> chwnd,</div>
<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;    CONST HWND *ahwnd)</div>
<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;{</div>
<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;    <a class="code" href="a02581.html">PWND</a>    pwndParent;</div>
<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;    RECT    rcClient;</div>
<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;    HDWP    hdwp;</div>
<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>    ihwnd;</div>
<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>    chwndReal;</div>
<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;    HWND *  phwnd = NULL;</div>
<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>    wFlags;</div>
<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>    square;</div>
<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;    <span class="keywordtype">int</span>     iCol, iRow;</div>
<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;    <span class="keywordtype">int</span>     cCol, cRow;</div>
<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;    <span class="keywordtype">int</span>     cRem;</div>
<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;    <span class="keywordtype">int</span>     dx, dy;</div>
<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;    <span class="keywordtype">int</span>     xRes, yRes;</div>
<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;    BOOL    fSkipOutside;</div>
<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160; </div>
<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;    <span class="comment">// Get parent</span></div>
<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;    <span class="keywordflow">if</span> (!hwndParent)</div>
<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;        hwndParent = <a class="code" href="a03743.html#a0a4b4ffaef0371b526a03f68506e6a80">GetDesktopWindow</a>();</div>
<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160; </div>
<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;    <span class="keywordflow">if</span> ((pwndParent = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndParent)) == NULL) {</div>
<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;        <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;    }</div>
<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwndParent);</div>
<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160; </div>
<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;    fSkipOutside = (hwndParent == <a class="code" href="a03743.html#a0a4b4ffaef0371b526a03f68506e6a80">GetDesktopWindow</a>());</div>
<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;    <a class="code" href="a00200.html#aa37dfcece35f127593222d093992608c">UnmaximizeChildWindows</a>(hwndParent);</div>
<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;    <span class="comment">// Get rectangle to arrange in</span></div>
<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;    <span class="keywordflow">if</span> (lpRect == NULL) {</div>
<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;        <span class="comment">// if we&#39;re tiling on the desktop and we aren&#39;t showing icons,</span></div>
<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;        <span class="comment">//     then don&#39;t do GRC_MINWNDS</span></div>
<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;        <span class="comment">// if we&#39;re not doing ArrangeIconWindows, then don&#39;t do GRC_MINWNDS</span></div>
<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;        <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> uGRCFlags =</div>
<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;            (((pwndParent == <a class="code" href="a03743.html#a6fff890dabd74b268fbcba3368ecc560">_GetDesktopWindow</a>()) &amp;&amp; (SYSMET(ARRANGE) &amp; ARW_HIDE)) ||</div>
<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160;             !NtUserArrangeIconicWindows(hwndParent)) ? GRC_SCROLLS : GRC_SCROLLS | GRC_MINWNDS;</div>
<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160; </div>
<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;        <a class="code" href="a00365.html#a3bcfad2fca870b484811dc73379657f9">GetRealClientRect</a>(pwndParent, &amp;rcClient, uGRCFlags);</div>
<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;        lpRect = &amp;rcClient;</div>
<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;    }</div>
<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160; </div>
<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;    <span class="comment">// Get window list</span></div>
<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;    <span class="keywordflow">if</span> (ahwnd == NULL) {</div>
<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;        HWND hwndChild;</div>
<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;        <a class="code" href="a02581.html">PWND</a> pwndChild;</div>
<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160; </div>
<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;        pwndChild = REBASEPWND(pwndParent, spwndChild);</div>
<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;        hwndChild = HW(pwndChild);</div>
<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;        <span class="keywordflow">if</span> ((hwndChild == NULL) ||</div>
<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;                (chwnd = <a class="code" href="a00017.html#a38f9f1cda93f580ed3ac238d15bd06f7">BuildHwndList</a>(NULL, hwndChild,</div>
<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;                                         FALSE, 0, &amp;phwnd)) == 0) {</div>
<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;            <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;        }</div>
<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;    }</div>
<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160; </div>
<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;    <span class="comment">// Now, figure out how many REAL windows we have.</span></div>
<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;    chwndReal = 0;</div>
<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;    <span class="keywordflow">for</span> (ihwnd = 0; ihwnd &lt; chwnd; ihwnd++)</div>
<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;    {</div>
<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;        HWND hwndChild;</div>
<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;        <a class="code" href="a02581.html">PWND</a> pwndChild;</div>
<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160; </div>
<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;        <span class="keywordflow">if</span> (phwnd != NULL)</div>
<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;            hwndChild = phwnd[ihwnd];</div>
<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;        <span class="keywordflow">else</span></div>
<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;            hwndChild = ahwnd[ihwnd];</div>
<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160; </div>
<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;        pwndChild = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndChild);</div>
<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160; </div>
<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;        <span class="keywordflow">if</span> (pwndChild &amp;&amp; <a class="code" href="a00200.html#a8551c78886421c2ca121c2a881c801ae">IsPositionable</a>(pwndChild, flags, fSkipOutside)) {</div>
<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;            chwndReal++;</div>
<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;        }</div>
<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;    }</div>
<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160; </div>
<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;    <span class="keywordflow">if</span> (!chwndReal)</div>
<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;        <span class="keywordflow">goto</span> Done;</div>
<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160; </div>
<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;    xRes = (lpRect-&gt;right - lpRect-&gt;left);</div>
<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;    yRes = (lpRect-&gt;bottom - lpRect-&gt;top);</div>
<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;    <span class="keywordflow">if</span> ((xRes &lt;= 0) || (yRes &lt;= 0)) {</div>
<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;        chwndReal = 0;</div>
<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;        <span class="keywordflow">goto</span> Done;</div>
<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;    }</div>
<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160; </div>
<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;    <span class="comment">// Compute nearest least square</span></div>
<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;    <span class="keywordflow">for</span> (square = 2; square * square &lt;= chwndReal; square++) {</div>
<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;        ;</div>
<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;    }</div>
<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160; </div>
<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;    <span class="keywordflow">if</span> (flags &amp; MDITILE_HORIZONTAL) {</div>
<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;        cCol = square - 1;</div>
<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;        cRow = chwndReal / cCol;</div>
<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;        cRem = chwndReal % cCol;</div>
<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;    } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;        cRow = square - 1;</div>
<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;        cCol = chwndReal / cRow;</div>
<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;        cRem = chwndReal % cRow;</div>
<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;    }</div>
<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160; </div>
<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;    <span class="comment">// Position the windows</span></div>
<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;    hdwp = NtUserBeginDeferWindowPos(chwndReal);</div>
<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;    chwndReal = 0;</div>
<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160; </div>
<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;    ihwnd = 0;</div>
<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;    <span class="keywordflow">for</span> (iCol = 0; iCol &lt; cCol; iCol++) {</div>
<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;        HWND    hwndChild;</div>
<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;        <a class="code" href="a02581.html">PWND</a>    pwndChild;</div>
<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160; </div>
<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;        <span class="keywordflow">if</span> ((cCol - iCol) &lt;= cRem)</div>
<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;            cRow++;</div>
<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160; </div>
<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;        <span class="keywordflow">for</span> (iRow = 0; iRow &lt; cRow; iRow++) {</div>
<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;            dx = xRes / cCol;</div>
<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;            dy = yRes / cRow;</div>
<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160; </div>
<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;NextWindow:</div>
<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;            <span class="comment">//</span></div>
<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;            <span class="comment">// Skip bogus and nonpositionable windows</span></div>
<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;            <span class="comment">//</span></div>
<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;            <span class="keywordflow">if</span> (ihwnd &gt;= chwnd)</div>
<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;                <span class="keywordflow">goto</span> BailOut;</div>
<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160; </div>
<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;            pwndChild = NULL;</div>
<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160; </div>
<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;            <span class="keywordflow">if</span> (phwnd != NULL) {</div>
<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;                hwndChild = phwnd[ihwnd];</div>
<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;                <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>(hwndChild != (HWND)1);</div>
<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160; </div>
<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;                <span class="keywordflow">if</span> (hwndChild != NULL) {</div>
<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;                    pwndChild = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndChild);</div>
<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;                    <span class="keywordflow">if</span> (pwndChild == NULL)</div>
<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;                        hwndChild = NULL;</div>
<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;                }</div>
<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;                hwndChild = ahwnd[ihwnd];</div>
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;                <span class="keywordflow">if</span> (hwndChild != NULL) {</div>
<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;                    pwndChild = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndChild);</div>
<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;                    <span class="keywordflow">if</span> (pwndChild == NULL)</div>
<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;                        hwndChild = NULL;</div>
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;                }</div>
<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;                <span class="keywordflow">if</span> ((pwndChild!=NULL) &amp;&amp; (REBASEPWND(pwndChild, spwndParent) != pwndParent)) {</div>
<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;                    <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;USERSRV: TileWindows: windows in list must have same parent&quot;</span>);</div>
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160;                    hwndChild = NULL;</div>
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;                    pwndChild = NULL;</div>
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;                }</div>
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;            }</div>
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160;            ihwnd++;</div>
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160; </div>
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;            <span class="keywordflow">if</span> ((pwndChild==NULL) || !<a class="code" href="a00200.html#a8551c78886421c2ca121c2a881c801ae">IsPositionable</a>(pwndChild, flags, fSkipOutside))</div>
<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;                <span class="keywordflow">goto</span> NextWindow;</div>
<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; </div>
<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;            chwndReal++;</div>
<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160; </div>
<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;            wFlags = SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOCOPYBITS;</div>
<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;            <span class="keywordflow">if</span> (!TestWF(pwndChild, WFSIZEBOX))</div>
<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;                wFlags |= SWP_NOSIZE;</div>
<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; </div>
<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;            <span class="comment">//</span></div>
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;            <span class="comment">// Move, size the window</span></div>
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;            <span class="comment">//</span></div>
<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;            hdwp = <a class="code" href="a00362.html#a0378399157cfb4978d4062c0baa5ffc9">NtUserDeferWindowPos</a>(hdwp, hwndChild, HWND_TOP,</div>
<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;                lpRect-&gt;left + iCol*dx, lpRect-&gt;top + iRow*dy,</div>
<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;                dx, dy, wFlags);</div>
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160; </div>
<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;            <span class="keywordflow">if</span> (hdwp == NULL)</div>
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;                <span class="keywordflow">goto</span> Done;</div>
<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;        }</div>
<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160; </div>
<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;        <span class="keywordflow">if</span> ((cCol - iCol) &lt;= cRem) {</div>
<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;            cRow--;</div>
<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;            cRem--;</div>
<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;        }</div>
<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;    }</div>
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160; </div>
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;BailOut:</div>
<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;    <span class="comment">// Make this arrangement asynchronous so we don&#39;t hang</span></div>
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;    <a class="code" href="a00362.html#a8c789c94f5d786b6ee30f9b02fffc2f5">NtUserEndDeferWindowPosEx</a>(hdwp, TRUE);</div>
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; </div>
<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160;Done:</div>
<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;    <span class="keywordflow">if</span> (phwnd)</div>
<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;        UserLocalFree(phwnd);</div>
<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160; </div>
<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;    <span class="keywordflow">return</span>(chwndReal);</div>
<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;}</div>
<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; </div>
<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160; </div>
<div class="line"><a name="l01059"></a><span class="lineno"><a class="line" href="a00200.html#a867e9dafadf72e576a9f7d46c5eb1cca"> 1059</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="a00200.html#a867e9dafadf72e576a9f7d46c5eb1cca">xxxMDIActivate</a>(</div>
<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd,</div>
<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndActivate)</div>
<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;{</div>
<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;    HWND hwndOld;</div>
<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndOld;</div>
<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160; </div>
<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;    <a class="code" href="a01961.html">PMDI</a> pmdi;</div>
<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;    BOOL fShowActivate;</div>
<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> nID;</div>
<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;    <a class="code" href="a01881.html">TL</a> tlpwnd;</div>
<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;    <a class="code" href="a01881.html">TL</a> tlpwndOld;</div>
<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndT;</div>
<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;    HWND hwnd = HWq(pwnd);</div>
<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;    HWND hwndActivate = HW(pwndActivate);</div>
<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160; </div>
<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwndActivate);</div>
<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160; </div>
<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;<span class="comment">     * Get a pointer to the MDI structure</span></div>
<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>&#160;    pmdi = ((<a class="code" href="a00257.html#a8fbbab4c887a01986a0cf83e1fba2554">PMDIWND</a>)pwnd)-&gt;pmdi;</div>
<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160; </div>
<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;    <span class="keywordflow">if</span> (ACTIVE(pmdi) == hwndActivate)</div>
<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;        <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160; </div>
<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;    <span class="keywordflow">if</span> ((pwndActivate != NULL) &amp;&amp; (TestWF(pwndActivate, WFDISABLED))) {</div>
<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;<span class="comment">         * Don&#39;t even try activating disabled or invisible windows.</span></div>
<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;        <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;    }</div>
<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; </div>
<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;    pwndT = REBASEPWND(pwnd, spwndParent);</div>
<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;    fShowActivate = (HW(pwndT) ==</div>
<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;            <a class="code" href="a00362.html#aa5258078ff9b60251c9b6024af494146">NtUserQueryWindow</a>(hwnd, WindowActiveWindow));</div>
<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; </div>
<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;    hwndOld = ACTIVE(pmdi);</div>
<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;    <span class="keywordflow">if</span> (hwndOld &amp;&amp; (pwndOld = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndOld)) == NULL) {</div>
<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;        hwndOld = NULL;</div>
<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160;    }</div>
<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>&#160;    <a class="code" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a>(pwndOld, &amp;tlpwndOld);</div>
<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160; </div>
<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;    <span class="keywordflow">if</span> (hwndOld) {</div>
<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160; </div>
<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;<span class="comment">         * Attempt to deactivate the MDI child window.</span></div>
<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;<span class="comment">         * The MDI child window can fail deactivation by returning FALSE.</span></div>
<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;<span class="comment">         * But this only applies if the MDI frame is the active window</span></div>
<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;<span class="comment">         * and the app is a 3.1 app or later</span></div>
<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;        <span class="keywordflow">if</span> (!SendMessage(hwndOld, WM_NCACTIVATE, FALSE, 0L) &amp;&amp;</div>
<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;                fShowActivate) {</div>
<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;            <span class="keywordflow">if</span> (TestWF(pwndOld, WFWIN31COMPAT))</div>
<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;                <span class="keywordflow">goto</span> UnlockOld;</div>
<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;        }</div>
<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160; </div>
<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;        <span class="keywordflow">if</span> (!TestWF(pwndOld, WFWIN31COMPAT) &amp;&amp; TestWF(pwndOld, WFFRAMEON)) {</div>
<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160; </div>
<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;<span class="comment">             * Error: Quicken for Windows is sort of bogus.  They try to fail</span></div>
<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;<span class="comment">             * the WM_NCACTIVATE of their newly created window by not passing</span></div>
<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;<span class="comment">             * it to DefWindowProc.  Bug 6412.  WM_NCACTIVATE sets/unsets the</span></div>
<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160;<span class="comment">             * WFFRAMEON bit if passed to DWP so we can double check things</span></div>
<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;<span class="comment">             * here.</span></div>
<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;            <span class="keywordflow">goto</span> UnlockOld;</div>
<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160;        }</div>
<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>&#160; </div>
<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;        SendMessage(hwndOld, WM_MDIACTIVATE, (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)hwndOld, (LONG)hwndActivate);</div>
<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160; </div>
<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;<span class="comment">         * Uncheck the old window menu entry.</span></div>
<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;        <span class="keywordflow">if</span> (WINDOW(pmdi))</div>
<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;            <a class="code" href="a00203.html#a93eb9296d81e8c954f5f74fa8e4a7246">CheckMenuItem</a>(WINDOW(pmdi), (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)pwndOld-&gt;<a class="code" href="a02581.html#ad680eabbc65eb4d160362e2c73a19994">spmenu</a>,</div>
<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;                MF_BYCOMMAND | MF_UNCHECKED);</div>
<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;    }</div>
<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160; </div>
<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;    <span class="comment">// Handle switching to a new (or NO) maximized window.  If NO window is</span></div>
<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;    <span class="comment">// to become maximized, because we&#39;re activating NULL or the window to</span></div>
<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;    <span class="comment">// become active doesn&#39;t have a WS_MAXIMIZEBOX, restore the old one to</span></div>
<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;    <span class="comment">// it&#39;s normal size to clean up the MDI maximized menubar mess</span></div>
<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;    <span class="keywordflow">if</span> (MAXED(pmdi) &amp;&amp; MAXED(pmdi) != hwndActivate) {</div>
<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;        HWND hwndMax;</div>
<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;        <span class="keywordtype">int</span>  iShowCode;</div>
<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160; </div>
<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;        <span class="comment">// The MAXBOX check is a new thing for 4.0 dudes; it breaks 3.x apps.</span></div>
<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;        <span class="comment">// See comment in the WM_MDIMAXIMIZE handling.</span></div>
<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160; </div>
<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;        <span class="keywordflow">if</span> (pwndActivate &amp;&amp; (TestWF(pwndActivate, WFMAXBOX) || !TestWF(pwndActivate, WFWIN40COMPAT))) {</div>
<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;            hwndMax = hwndActivate;</div>
<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;            iShowCode = SW_SHOWMAXIMIZED;</div>
<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;            Lock(&amp;ACTIVE(pmdi), hwndMax);</div>
<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;            hwndMax = MAXED(pmdi);</div>
<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;            iShowCode = SW_SHOWNORMAL;</div>
<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;        }</div>
<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160; </div>
<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;        <span class="comment">// overload WFFULLSCREEN bit -- useless for child windows anyways</span></div>
<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;        <span class="comment">// use it to indicate to min/max code to not animate size change.</span></div>
<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160; </div>
<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;        <span class="comment">// NO -- no bit overloading, damn it.  FritzS</span></div>
<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;        <a class="code" href="a00362.html#a4587e82182c73aeb97a7f528b5dfdaa0">NtUserCallHwndParam</a>(hwndMax, WFNOANIMATE, <a class="code" href="a00335.html#af879649bddfeaac7e49e891fff78a9b1">SFI_SETWINDOWSTATE</a>);</div>
<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;        <a class="code" href="a00362.html#af2e007664f2c2b68908d086861b77ddb">NtUserShowWindow</a>(hwndMax, iShowCode);</div>
<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160;        <a class="code" href="a00362.html#a4587e82182c73aeb97a7f528b5dfdaa0">NtUserCallHwndParam</a>(hwndMax, WFNOANIMATE, <a class="code" href="a00335.html#a6351625761ce4edc1fc3e000ca54c4de">SFI_CLEARWINDOWSTATE</a>);</div>
<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;    }</div>
<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160; </div>
<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;    Lock(&amp;ACTIVE(pmdi), hwndActivate);</div>
<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160; </div>
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;<span class="comment">     * We may be removing the activation entirely...</span></div>
<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;    <span class="keywordflow">if</span> (!pwndActivate) {</div>
<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;        <span class="keywordflow">if</span> (fShowActivate)</div>
<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160;            <a class="code" href="a00362.html#a3aa84979aeb1f89caa4217dc0f88b104">NtUserSetFocus</a>(hwnd);</div>
<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;        <span class="keywordflow">goto</span> UnlockOld;</div>
<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;    }</div>
<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160; </div>
<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;    <span class="keywordflow">if</span> (WINDOW(pmdi)) {</div>
<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160; </div>
<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;<span class="comment">         * Check the new window menu entry.</span></div>
<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;        nID = GetWindowID(ACTIVE(pmdi));</div>
<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;        <span class="keywordflow">if</span> (nID - FIRST(pmdi) &lt; (MAXITEMS - 1)) {</div>
<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;            <a class="code" href="a00203.html#a93eb9296d81e8c954f5f74fa8e4a7246">CheckMenuItem</a>(WINDOW(pmdi), nID, MF_BYCOMMAND | MFS_CHECKED);</div>
<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;<span class="comment">             * the item is not in the menu at all!  Swap it with number 9.</span></div>
<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;            <a class="code" href="a02581.html">PWND</a> pwndOther = <a class="code" href="a00197.html#a779ab41018bd3951528a4201d4b5a0fb">FindPwndChild</a>(pwnd, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)(FIRST(pmdi) + MAXITEMS - 2));</div>
<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160; </div>
<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160;            SetWindowLong(HW(pwndOther), GWL_ID, (LONG)pwndActivate-&gt;<a class="code" href="a02581.html#ad680eabbc65eb4d160362e2c73a19994">spmenu</a>);</div>
<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>&#160;            SetWindowLong(hwndActivate, GWL_ID, FIRST(pmdi) + MAXITEMS - 2);</div>
<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160; </div>
<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;            <a class="code" href="a00197.html#a953c4e7b37f089bee9b2e339c2df42ef">ModifyMenuItem</a>(pwndActivate);</div>
<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;        }</div>
<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;    }</div>
<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160; </div>
<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;<span class="comment">     * Bring the window to the top.</span></div>
<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;    <a class="code" href="a00362.html#a97ea52174705d791899a9df860aab676">NtUserSetWindowPos</a>(ACTIVE(pmdi), NULL, 0, 0, 0, 0,</div>
<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;        SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);</div>
<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160; </div>
<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;<span class="comment">     * Update the Caption bar.  Don&#39;t muck with styles for 3.1.</span></div>
<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;    <span class="keywordflow">if</span> (fShowActivate) {</div>
<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;        SendMessage(ACTIVE(pmdi), WM_NCACTIVATE, TRUE, 0L);</div>
<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160; </div>
<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;        <a class="code" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a>(pwnd, &amp;tlpwnd);</div>
<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160; </div>
<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;        <span class="keywordflow">if</span> ((hwnd == <a class="code" href="a00362.html#aa5258078ff9b60251c9b6024af494146">NtUserQueryWindow</a>(hwnd, WindowFocusWindow)) &amp;&amp; hwndOld)</div>
<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;            SendMessage(hwnd, WM_SETFOCUS, (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)hwnd, 0);</div>
<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;        <span class="keywordflow">else</span></div>
<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160;            <a class="code" href="a00362.html#a3aa84979aeb1f89caa4217dc0f88b104">NtUserSetFocus</a>(hwnd);</div>
<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>&#160; </div>
<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;        ThreadUnlock(&amp;tlpwnd);</div>
<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;    }</div>
<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160; </div>
<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;<span class="comment">     * Notify the new active window of his activation.</span></div>
<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160;    SendMessage(ACTIVE(pmdi), WM_MDIACTIVATE, (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)hwndOld,</div>
<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;                (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)hwndActivate);</div>
<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160; </div>
<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;UnlockOld:</div>
<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;    ThreadUnlock(&amp;tlpwndOld);</div>
<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;}</div>
<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160; </div>
<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160; </div>
<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160; </div>
<div class="line"><a name="l01243"></a><span class="lineno"><a class="line" href="a00200.html#a24e3dd1d492a1962b4e248716efb8eb8"> 1243</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="a00200.html#a24e3dd1d492a1962b4e248716efb8eb8">xxxMDINext</a>(</div>
<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndMDI,</div>
<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd,</div>
<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;    BOOL fPrevWindow)</div>
<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;{</div>
<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;    <a class="code" href="a01961.html">PMDI</a> pmdi;</div>
<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndNextGuy;</div>
<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160;    HDWP hdwp;</div>
<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;    BOOL fHack = FALSE;</div>
<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160; </div>
<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwndMDI);</div>
<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160; </div>
<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;<span class="comment">     * Get a pointer to the MDI structure</span></div>
<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;    pmdi = ((<a class="code" href="a00257.html#a8fbbab4c887a01986a0cf83e1fba2554">PMDIWND</a>)pwndMDI)-&gt;pmdi;</div>
<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; </div>
<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;    pwndNextGuy = pwnd;</div>
<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160; </div>
<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160;    <span class="keywordflow">while</span> (TRUE) {</div>
<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;        <span class="keywordflow">if</span> (fPrevWindow)</div>
<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;            pwndNextGuy = <a class="code" href="a00365.html#a976181f00e2ce3d0df4b770ea93f8443">_GetWindow</a>(pwndNextGuy, GW_HWNDPREV);</div>
<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;        <span class="keywordflow">else</span></div>
<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;            pwndNextGuy = REBASEPWND(pwndNextGuy, spwndNext);</div>
<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160; </div>
<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160;        <span class="keywordflow">if</span> (!pwndNextGuy) {</div>
<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;            <span class="keywordflow">if</span> (fPrevWindow) {</div>
<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160;                pwndNextGuy = <a class="code" href="a00365.html#a976181f00e2ce3d0df4b770ea93f8443">_GetWindow</a>(pwnd, GW_HWNDLAST);</div>
<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;                pwndNextGuy =  REBASEPWND(pwndMDI, spwndChild);</div>
<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160;            }</div>
<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;        }</div>
<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160; </div>
<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;        <span class="keywordflow">if</span> (pwndNextGuy == pwnd)</div>
<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;            <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160; </div>
<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; </div>
<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;        <span class="comment">//</span></div>
<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160;        <span class="comment">// Ignore hidden and disabled windows.</span></div>
<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;        <span class="comment">//</span></div>
<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;        <span class="keywordflow">if</span> (TestWF(pwndNextGuy, WFVISIBLE) &amp;&amp; !TestWF(pwndNextGuy, WFDISABLED))</div>
<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;            <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;    }</div>
<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160; </div>
<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;    <span class="keywordflow">if</span> (MAXED(pmdi)) {</div>
<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;        NtUserSetVisible(HWq(pwndMDI), SV_UNSET | SV_CLRFTRUEVIS);</div>
<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;        fHack = TRUE;</div>
<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>&#160;    }</div>
<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160; </div>
<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;    hdwp = NtUserBeginDeferWindowPos(2);</div>
<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160; </div>
<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;<span class="comment">     * activate the new window (first, in case of maximized windows)</span></div>
<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;    hdwp = <a class="code" href="a00362.html#a0378399157cfb4978d4062c0baa5ffc9">NtUserDeferWindowPos</a>(hdwp, HW(pwndNextGuy), HWND_TOP, 0, 0, 0, 0,</div>
<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;        SWP_NOMOVE | SWP_NOSIZE);</div>
<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160; </div>
<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;<span class="comment">// LATER 30-Mar-1992 mikeke</span></div>
<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;<span class="comment">// this used to be _GetWindow(pwndMDI-&gt;spwndChild, GW_HWNDLAST)</span></div>
<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;<span class="comment">// instead of HWND_BOTTOM</span></div>
<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;   <span class="keywordflow">if</span> (hdwp &amp;&amp; !fPrevWindow &amp;&amp; (pwnd != pwndNextGuy))</div>
<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;       hdwp = <a class="code" href="a00362.html#a0378399157cfb4978d4062c0baa5ffc9">NtUserDeferWindowPos</a>(hdwp, HW(pwnd),</div>
<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;            HWND_BOTTOM, 0, 0, 0, 0,</div>
<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;            SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE );</div>
<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160; </div>
<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;    <a class="code" href="a00362.html#a8c789c94f5d786b6ee30f9b02fffc2f5">NtUserEndDeferWindowPosEx</a>(hdwp, FALSE);</div>
<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160; </div>
<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;    <span class="keywordflow">if</span> (fHack) {</div>
<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160;        <a class="code" href="a00362.html#af2e007664f2c2b68908d086861b77ddb">NtUserShowWindow</a>(HWq(pwndMDI), SW_SHOW);</div>
<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;    }</div>
<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;}</div>
<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160; </div>
<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160; </div>
<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>&#160;HWND</div>
<div class="line"><a name="l01318"></a><span class="lineno"><a class="line" href="a00200.html#a76862af9773b98632485be74a3c63fb6"> 1318</a></span>&#160;<a class="code" href="a00200.html#a76862af9773b98632485be74a3c63fb6">CreateMDIWindowA</a>(</div>
<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;    LPSTR pClassName,</div>
<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;    LPSTR pWindowName,</div>
<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwStyle,</div>
<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;    <span class="keywordtype">int</span> x,</div>
<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;    <span class="keywordtype">int</span> y,</div>
<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;    <span class="keywordtype">int</span> nWidth,</div>
<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;    <span class="keywordtype">int</span> nHeight,</div>
<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;    HWND hwndParent,</div>
<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;    HINSTANCE hModule,</div>
<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;    LPARAM lParam)</div>
<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;{</div>
<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;    <span class="keywordflow">return</span> CreateWindowExA(WS_EX_MDICHILD, pClassName, pWindowName,</div>
<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160;                                 dwStyle, x, y, nWidth, nHeight,</div>
<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;                                 hwndParent, NULL, hModule, (LPVOID)lParam);</div>
<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;}</div>
<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160; </div>
<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160; </div>
<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;HWND</div>
<div class="line"><a name="l01337"></a><span class="lineno"><a class="line" href="a00200.html#afeb5360294e64e61c41bc844aa47f80f"> 1337</a></span>&#160;<a class="code" href="a00200.html#afeb5360294e64e61c41bc844aa47f80f">CreateMDIWindowW</a>(</div>
<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;    LPWSTR pClassName,</div>
<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;    LPWSTR pWindowName,</div>
<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwStyle,</div>
<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;    <span class="keywordtype">int</span> x,</div>
<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;    <span class="keywordtype">int</span> y,</div>
<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;    <span class="keywordtype">int</span> nWidth,</div>
<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;    <span class="keywordtype">int</span> nHeight,</div>
<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;    HWND hwndParent,</div>
<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;    HINSTANCE hModule,</div>
<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;    LPARAM lParam)</div>
<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160;{</div>
<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;    <span class="keywordflow">return</span> CreateWindowExW(WS_EX_MDICHILD, pClassName, pWindowName,</div>
<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;                                 dwStyle, x, y, nWidth, nHeight,</div>
<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160;                                 hwndParent, NULL, hModule, (LPVOID)lParam);</div>
<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;}</div>
<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160; </div>
<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160; </div>
<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; </div>
<div class="line"><a name="l01363"></a><span class="lineno"><a class="line" href="a00200.html#a6831b0f27075c6d3e455f2959f7afe25"> 1363</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="a00200.html#a6831b0f27075c6d3e455f2959f7afe25">xxxMDIDestroy</a>(</div>
<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd,</div>
<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;    HWND hwndVictim)</div>
<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;{</div>
<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndVictim;</div>
<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;    <a class="code" href="a01881.html">TL</a> tlpwndParent;</div>
<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;    <a class="code" href="a01961.html">PMDI</a> pmdi;</div>
<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndParent;</div>
<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160;    HWND hwnd;</div>
<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160; </div>
<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160; </div>
<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160;    <span class="keywordflow">if</span> ((pwndVictim = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndVictim)) == NULL) {</div>
<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160;        <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;    }</div>
<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwndVictim);</div>
<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160; </div>
<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160;<span class="comment">     * Get a pointer to the MDI structure</span></div>
<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;    pmdi = ((<a class="code" href="a00257.html#a8fbbab4c887a01986a0cf83e1fba2554">PMDIWND</a>)pwnd)-&gt;pmdi;</div>
<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160; </div>
<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;<span class="preprocessor">#ifdef NEVER</span></div>
<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160;<span class="comment">// don&#39;t do this validation - because it sometimes doesn&#39;t work! If an</span></div>
<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;<span class="comment">// app passed in idFirstChild (through CLIENTCREATESTRUCT) as -1, this</span></div>
<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;<span class="comment">// code fails because it treats the id comparisons as unsigned compares.</span></div>
<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;<span class="comment">// Change them to signed compares and it still doesn&#39;t work. That is because</span></div>
<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;<span class="comment">// when ShiftMenuIDs() is called, you&#39;ll shift mdi windows out of the signed</span></div>
<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;<span class="comment">// comparison range and this check won&#39;t allow them to be destroyed. This</span></div>
<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;<span class="comment">// is straight win3.1 code.</span></div>
<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160;<span class="comment">//</span></div>
<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160;<span class="comment">     * Validate that this is one of the mdi children we are keeping track</span></div>
<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160;<span class="comment">     * of. If it isn&#39;t don&#39;t destroy it because it&#39;ll get mdi id tracking</span></div>
<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;<span class="comment">     * code all screwed up.</span></div>
<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;    <span class="keywordflow">if</span> (((<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)pwndVictim-&gt;<a class="code" href="a02581.html#ad680eabbc65eb4d160362e2c73a19994">spmenu</a>) &lt; FIRST(pmdi) ||</div>
<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;            ((<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)pwndVictim-&gt;<a class="code" href="a02581.html#ad680eabbc65eb4d160362e2c73a19994">spmenu</a>) &gt;= (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)(FIRST(pmdi) + CKIDS(pmdi)) ||</div>
<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;            pwndVictim-&gt;<a class="code" href="a02581.html#a9e4b9545017c505ebd9b8808bd470ab9">spwndOwner</a> != NULL) {</div>
<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;        <a class="code" href="a00371.html#ae61d954062a9ece52e350e54cad9a23d">RIPERR0</a>(ERROR_NON_MDICHILD_WINDOW, <a class="code" href="a00371.html#ad6b24a3d61abdc148c8751b5c5add686">RIP_VERBOSE</a>, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;        <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160;    }</div>
<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160; </div>
<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160;    <a class="code" href="a00197.html#a59b262b55c4f5b2ac115b815fa5fb7c5">ShiftMenuIDs</a>(pwnd, pwndVictim);</div>
<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160; </div>
<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160;<span class="comment">     * First Activate another window.</span></div>
<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;    <span class="keywordflow">if</span> (SAMEWOWHANDLE(hwndVictim, ACTIVE(pmdi))) {</div>
<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160;        <a class="code" href="a00200.html#a24e3dd1d492a1962b4e248716efb8eb8">xxxMDINext</a>(pwnd, pwndVictim, FALSE);</div>
<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160; </div>
<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;<span class="comment">         * Destroying only child?</span></div>
<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;        <span class="keywordflow">if</span> (SAMEWOWHANDLE(hwndVictim, ACTIVE(pmdi))) {</div>
<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160;            <a class="code" href="a00362.html#af2e007664f2c2b68908d086861b77ddb">NtUserShowWindow</a>(hwndVictim, SW_HIDE);</div>
<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160; </div>
<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160;<span class="comment">             * If the window is maximized, we need to remove his sys menu</span></div>
<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;<span class="comment">             * now otherwise it may get deleted twice.  Once when the child</span></div>
<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160;<span class="comment">             * is destroyed and once when the frame is destroyed.</span></div>
<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;            <span class="keywordflow">if</span> (MAXED(pmdi)) {</div>
<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;                pwndParent = REBASEPWND(pwnd, spwndParent);</div>
<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;                <a class="code" href="a00197.html#aa300b1c82b580cb6f7134d6e719da13d">MDIRemoveSysMenu</a>(PtoH(REBASE(pwndParent,spmenu)),</div>
<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;                        MAXED(pmdi), FALSE);</div>
<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;                Unlock(&amp;MAXED(pmdi));</div>
<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;                <a class="code" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a>(pwndParent, &amp;tlpwndParent);</div>
<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160;                <a class="code" href="a00200.html#afc19505c53fa29e5b27e73caf1296446">xxxSetFrameTitle</a>(pwndParent, pwnd, (LPWSTR)1L);</div>
<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160; </div>
<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;                <span class="comment">/*</span></div>
<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160;<span class="comment">                 * Redraw frame so menu bar shows the removed sys menu stuff</span></div>
<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;<span class="comment">                 */</span></div>
<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;                <span class="keywordflow">if</span> (TestWF(pwndParent, WFVISIBLE))</div>
<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160;                    NtUserRedrawFrame(HWq(pwndParent));</div>
<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;                ThreadUnlock(&amp;tlpwndParent);</div>
<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;            }</div>
<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;            <a class="code" href="a00200.html#a867e9dafadf72e576a9f7d46c5eb1cca">xxxMDIActivate</a>(pwnd, NULL);</div>
<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;        }</div>
<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;    }</div>
<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160; </div>
<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160;<span class="comment">     * Don&#39;t ever let this go negative or we&#39;ll get caught in long loops.</span></div>
<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160;    CKIDS(pmdi)--;</div>
<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160;    <span class="keywordflow">if</span> ((<span class="keywordtype">int</span>)CKIDS(pmdi) &lt; 0)</div>
<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160;        CKIDS(pmdi) = 0;</div>
<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160; </div>
<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160;    hwnd = HWq(pwnd);</div>
<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;    SendMessage(hwnd, WM_MDIREFRESHMENU, 0L, 0L);</div>
<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160; </div>
<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;<span class="comment">     * Destroy the window.</span></div>
<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160;    <a class="code" href="a00362.html#a0aa1711ac96764929b5aec3aadb7af2f">NtUserDestroyWindow</a>(hwndVictim);</div>
<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160; </div>
<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160; </div>
<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160;<span class="comment">     * During the DestroyWindow the parent may also have been deleted</span></div>
<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160;<span class="comment">     * Remove revalidate if we get client side locking</span></div>
<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;    <span class="keywordflow">if</span> (<a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwnd) == NULL)</div>
<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;       <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160; </div>
<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;<span class="comment">     * Deleting a window can change the scroll ranges.</span></div>
<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160;    <a class="code" href="a00200.html#a1a5df2316cee93109da9da469578f07a">RecalculateScrollRanges</a>(pwnd, FALSE);</div>
<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160;}</div>
<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160; </div>
<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160; </div>
<div class="line"><a name="l01481"></a><span class="lineno"><a class="line" href="a00257.html#a571566d878d23e9be1b60786f792fb56"> 1481</a></span>&#160;LONG <a class="code" href="a00200.html#a79965914a2e9e651b434416be79d1457">MDIClientWndProcWorker</a>(</div>
<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd,</div>
<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> message,</div>
<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160;    WPARAM wParam,</div>
<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;    LPARAM lParam,</div>
<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> fAnsi)</div>
<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;{</div>
<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160;    HWND hwnd = HWq(pwnd);</div>
<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;    HWND hwndT;</div>
<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndT;</div>
<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;    <a class="code" href="a01881.html">TL</a> tlpwndT;</div>
<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160;    <a class="code" href="a01961.html">PMDI</a> pmdi;</div>
<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndParent;</div>
<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160; </div>
<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160; </div>
<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160;    VALIDATECLASSANDSIZE(pwnd, FNID_MDICLIENT);</div>
<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160; </div>
<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160;<span class="comment">     * Get the pmdi for the given window now since we will use it a lot in</span></div>
<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160;<span class="comment">     * various handlers. This was stored using SetWindowLong(hwnd,4,pmdi) when</span></div>
<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160;<span class="comment">     * we initially created the MDI client window.</span></div>
<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160;    pmdi = ((<a class="code" href="a00257.html#a8fbbab4c887a01986a0cf83e1fba2554">PMDIWND</a>)pwnd)-&gt;pmdi;</div>
<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160; </div>
<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160;    <span class="keywordflow">switch</span> (message) {</div>
<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;    <span class="keywordflow">case</span> WM_NCACTIVATE:</div>
<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160; </div>
<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160;<span class="comment">         * We are changing app activation.  Fix the active child&#39;s caption.</span></div>
<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;        <span class="keywordflow">if</span> (ACTIVE(pmdi) != NULL) {</div>
<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160;            SendMessage(ACTIVE(pmdi), WM_NCACTIVATE, wParam, lParam);</div>
<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160;        }</div>
<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160;        <span class="keywordflow">goto</span> CallDWP;</div>
<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160; </div>
<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;    <span class="keywordflow">case</span> WM_MDIGETACTIVE:</div>
<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;        <span class="keywordflow">if</span> (lParam != 0) {</div>
<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;            *((LPBOOL)lParam) = (MAXED(pmdi) != NULL);</div>
<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160;        }</div>
<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160; </div>
<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;        <span class="keywordflow">return</span> (LONG)ACTIVE(pmdi);</div>
<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160; </div>
<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160;    <span class="keywordflow">case</span> WM_MDIACTIVATE:</div>
<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;        hwndT = (HWND)wParam;</div>
<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160;        <span class="keywordflow">if</span> ((pwndT = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndT)) == NULL)</div>
<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160;            <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>&#160; </div>
<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160;        <span class="keywordflow">if</span> (SAMEWOWHANDLE(hwndT, ACTIVE(pmdi)))</div>
<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160;              <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160; </div>
<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;        <a class="code" href="a00362.html#a97ea52174705d791899a9df860aab676">NtUserSetWindowPos</a>(hwndT, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);</div>
<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160; </div>
<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;    <span class="keywordflow">case</span> WM_MDICASCADE:</div>
<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160;        pmdi-&gt;<a class="code" href="a01961.html#a25743a901d3b50d61c9482e2557b045e">wScroll</a> |= SCROLLSUPPRESS;</div>
<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160;        <a class="code" href="a00362.html#a9d31affb78e14848936ca8bf72f0be23">NtUserShowScrollBar</a>(hwnd, SB_BOTH, FALSE);</div>
<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160; </div>
<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;<span class="comment">         * Unmaximize any maximized window.</span></div>
<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160;<span class="preprocessor">#ifdef NEVER  // Not in Chicago -- FritzS</span></div>
<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160;        <span class="keywordflow">if</span> (MAXED(pmdi) != NULL) {</div>
<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160;            <a class="code" href="a00362.html#af2e007664f2c2b68908d086861b77ddb">NtUserShowWindow</a>(MAXED(pmdi), SW_SHOWNORMAL);</div>
<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160;        }</div>
<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;<span class="comment">         * Save success/failure code to return to app</span></div>
<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;        message = (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)<a class="code" href="a00200.html#a94ff0ec22950f82017c679c1e1a2054c">CascadeWindows</a>(hwnd, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)wParam, NULL, 0, NULL);</div>
<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;        pmdi-&gt;<a class="code" href="a01961.html#a25743a901d3b50d61c9482e2557b045e">wScroll</a> &amp;= ~SCROLLCOUNT;</div>
<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160;        <span class="keywordflow">return</span> (LONG)message;</div>
<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160; </div>
<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160;    <span class="keywordflow">case</span> WM_VSCROLL:</div>
<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160;    <span class="keywordflow">case</span> WM_HSCROLL:</div>
<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;        pmdi-&gt;<a class="code" href="a01961.html#a25743a901d3b50d61c9482e2557b045e">wScroll</a> |= SCROLLSUPPRESS;</div>
<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160;        <a class="code" href="a00200.html#abf4a780c26348531b4b105c9d7d325dd">ScrollMDIChildren</a>(hwnd, (message == WM_VSCROLL) ? SB_VERT : SB_HORZ,</div>
<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160;              LOWORD(wParam), (<span class="keywordtype">short</span>)(HIWORD(wParam)));</div>
<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>&#160;        pmdi-&gt;<a class="code" href="a01961.html#a25743a901d3b50d61c9482e2557b045e">wScroll</a> &amp;= ~SCROLLCOUNT;</div>
<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160; </div>
<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160;    <span class="keywordflow">case</span> WM_MDICREATE:</div>
<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;        {</div>
<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160;        LPMDICREATESTRUCTA lpMCSA = (LPMDICREATESTRUCTA)lParam;</div>
<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160;        LPMDICREATESTRUCTW lpMCSW = (LPMDICREATESTRUCTW)lParam;</div>
<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160; </div>
<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;        <span class="keywordflow">if</span> (fAnsi) {</div>
<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160;            hwndT = CreateWindowExA(WS_EX_MDICHILD, lpMCSA-&gt;szClass, lpMCSA-&gt;szTitle,</div>
<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160;                lpMCSA-&gt;style, lpMCSA-&gt;x, lpMCSA-&gt;y, lpMCSA-&gt;cx, lpMCSA-&gt;cy,</div>
<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160;                hwnd, NULL, lpMCSA-&gt;hOwner, (LPSTR)lpMCSA-&gt;lParam);</div>
<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;            hwndT = CreateWindowExW(WS_EX_MDICHILD, lpMCSW-&gt;szClass, lpMCSW-&gt;szTitle,</div>
<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160;                lpMCSW-&gt;style, lpMCSW-&gt;x, lpMCSW-&gt;y, lpMCSW-&gt;cx, lpMCSW-&gt;cy,</div>
<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160;                hwnd, NULL, lpMCSW-&gt;hOwner, (LPWSTR)lpMCSW-&gt;lParam);</div>
<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;        }</div>
<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160; </div>
<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;        <span class="keywordflow">return</span>((LRESULT)hwndT);</div>
<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>&#160; </div>
<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160;        }</div>
<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160; </div>
<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160;    <span class="keywordflow">case</span> WM_MDIDESTROY:</div>
<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;        <a class="code" href="a00200.html#a6831b0f27075c6d3e455f2959f7afe25">xxxMDIDestroy</a>(pwnd, (HWND)wParam);</div>
<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160; </div>
<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;    <span class="keywordflow">case</span> WM_MDIMAXIMIZE:</div>
<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160;        hwndT = (HWND)wParam;</div>
<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160;        <span class="keywordflow">if</span> ((pwndT = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndT)) == NULL)</div>
<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160;            <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160; </div>
<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160;        <span class="comment">// Only maximize children with a MAXBOX.  However, this introduces</span></div>
<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160;        <span class="comment">// backwards-compatibility issues with VB apps (see#12211)</span></div>
<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160;        <span class="comment">// So, we do this only for WIN40COMPAT apps and beyond.</span></div>
<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160;        <span class="comment">//</span></div>
<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160;        <span class="keywordflow">if</span> ((TestWF(pwndT, WFMAXBOX)) || !(TestWF(pwndT, WFWIN40COMPAT))) {</div>
<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160;            <a class="code" href="a00362.html#af2e007664f2c2b68908d086861b77ddb">NtUserShowWindow</a>(hwndT, SW_SHOWMAXIMIZED);</div>
<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160;        }</div>
<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160; </div>
<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160;    <span class="keywordflow">case</span> WM_MDIRESTORE:</div>
<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160;        hwndT = (HWND)wParam;</div>
<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160;        <span class="keywordflow">if</span> ((pwndT = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndT)) == NULL)</div>
<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160;            <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160; </div>
<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160;        <a class="code" href="a00362.html#af2e007664f2c2b68908d086861b77ddb">NtUserShowWindow</a>(hwndT, SW_SHOWNORMAL);</div>
<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160; </div>
<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;    <span class="keywordflow">case</span> WM_MDITILE:</div>
<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160;        pmdi-&gt;<a class="code" href="a01961.html#a25743a901d3b50d61c9482e2557b045e">wScroll</a> |= SCROLLSUPPRESS;</div>
<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160;        <a class="code" href="a00362.html#a9d31affb78e14848936ca8bf72f0be23">NtUserShowScrollBar</a>(hwnd, SB_BOTH, FALSE);</div>
<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160; </div>
<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160;<span class="comment">         * Unmaximize any maximized window.</span></div>
<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160;<span class="preprocessor">#ifdef NEVER  //Not in Chicago</span></div>
<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160;        <span class="keywordflow">if</span> (MAXED(pmdi) != NULL) {</div>
<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160;            <a class="code" href="a00362.html#af2e007664f2c2b68908d086861b77ddb">NtUserShowWindow</a>(MAXED(pmdi), SW_SHOWNORMAL);</div>
<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160;        }</div>
<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160;<span class="comment">         * Save success/failure code to return to app</span></div>
<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160;        message = (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)<a class="code" href="a00200.html#a47a4c70a9495eab3183ca740118195f9">TileWindows</a>(hwnd, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)wParam, NULL, 0, NULL);</div>
<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160;        pmdi-&gt;<a class="code" href="a01961.html#a25743a901d3b50d61c9482e2557b045e">wScroll</a> &amp;= ~SCROLLCOUNT;</div>
<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160;        <span class="keywordflow">return</span> (LONG)message;</div>
<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160; </div>
<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160;    <span class="keywordflow">case</span> WM_MDIICONARRANGE:</div>
<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;        pmdi-&gt;<a class="code" href="a01961.html#a25743a901d3b50d61c9482e2557b045e">wScroll</a> |= SCROLLSUPPRESS;</div>
<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160;        NtUserArrangeIconicWindows(hwnd);</div>
<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160;        pmdi-&gt;<a class="code" href="a01961.html#a25743a901d3b50d61c9482e2557b045e">wScroll</a> &amp;= ~SCROLLCOUNT;</div>
<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160;        <a class="code" href="a00200.html#a1a5df2316cee93109da9da469578f07a">RecalculateScrollRanges</a>(pwnd, TRUE);</div>
<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160; </div>
<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;    <span class="keywordflow">case</span> WM_MDINEXT:</div>
<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160;        <span class="keywordflow">if</span> (wParam) {</div>
<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160;            hwndT = (HWND)wParam;</div>
<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160;            hwndT = ACTIVE(pmdi);</div>
<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;        }</div>
<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160; </div>
<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160;        <span class="keywordflow">if</span> ((pwndT = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndT)) == NULL) {</div>
<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160;            <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160;        }</div>
<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160; </div>
<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>&#160;<span class="comment">         * If lParam is 1, do a prev window instead of a next window</span></div>
<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160;        ThreadLockAlways(pwndT, &amp;tlpwndT);</div>
<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;        <a class="code" href="a00200.html#a24e3dd1d492a1962b4e248716efb8eb8">xxxMDINext</a>(pwnd, pwndT, (lParam == 0 ? 0 : 1));</div>
<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160;        ThreadUnlock(&amp;tlpwndT);</div>
<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160; </div>
<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160;    <span class="keywordflow">case</span> WM_MDIREFRESHMENU:</div>
<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160;            <span class="keywordflow">return</span> (LONG)<a class="code" href="a00197.html#a1310a8c396c058795fff35d3a25181cc">MDISetMenu</a>(pwnd, TRUE, NULL, NULL);</div>
<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160; </div>
<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160;    <span class="keywordflow">case</span> WM_MDISETMENU:</div>
<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160;            <span class="keywordflow">return</span> (LONG)<a class="code" href="a00197.html#a1310a8c396c058795fff35d3a25181cc">MDISetMenu</a>(pwnd, FALSE, (HMENU)wParam, (HMENU)lParam);</div>
<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160; </div>
<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160;    <span class="keywordflow">case</span> WM_PARENTNOTIFY:</div>
<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160;        <span class="keywordflow">if</span> (wParam == WM_LBUTTONDOWN) {</div>
<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160;            HWND hwndChild;</div>
<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160;            POINT pt;</div>
<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160; </div>
<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160;<span class="comment">             * Activate this child and bring it to the top.</span></div>
<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160;            pt.x = (int)MAKEPOINTS(lParam).x;</div>
<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160;            pt.y = (int)MAKEPOINTS(lParam).y;</div>
<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160;            hwndChild = <a class="code" href="a00362.html#a00bbf48f9220b8cc246f0d2b2bea280c">NtUserChildWindowFromPointEx</a>(hwnd, pt,</div>
<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160;                CWP_SKIPDISABLED | CWP_SKIPINVISIBLE);</div>
<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; </div>
<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160;            <span class="keywordflow">if</span> ((hwndChild) &amp;&amp; (hwndChild != hwnd)) {</div>
<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; </div>
<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160;                <span class="keywordflow">if</span> (hwndChild != ACTIVE(pmdi)) {</div>
<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;                    <a class="code" href="a00362.html#a97ea52174705d791899a9df860aab676">NtUserSetWindowPos</a>(hwndChild, HWND_TOP, 0, 0, 0, 0,</div>
<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160;                                 SWP_NOMOVE | SWP_NOSIZE);</div>
<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160;                }</div>
<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160;            }</div>
<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160;        }</div>
<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160; </div>
<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160;    <span class="keywordflow">case</span> WM_SETFOCUS:</div>
<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160;        <span class="keywordflow">if</span> (ACTIVE(pmdi) != NULL &amp;&amp; !<a class="code" href="a03743.html#a6a7e3f94f35b33d993059a10dfe976f5">IsIconic</a>(ACTIVE(pmdi))) {</div>
<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160;            <a class="code" href="a00362.html#a3aa84979aeb1f89caa4217dc0f88b104">NtUserSetFocus</a>(ACTIVE(pmdi));</div>
<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160;        }</div>
<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; </div>
<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160;    <span class="keywordflow">case</span> WM_SIZE:</div>
<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160;        <span class="keywordflow">if</span> (ACTIVE(pmdi) &amp;&amp; (pwndT = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(ACTIVE(pmdi))) &amp;&amp;</div>
<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160;            TestWF(pwndT, WFMAXIMIZED)) {</div>
<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; </div>
<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160;            RECT rc;</div>
<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160; </div>
<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160;            rc.top = rc.left = 0;</div>
<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160;            rc.right = (int)MAKEPOINTS(lParam).x;</div>
<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160;            rc.bottom = (int)MAKEPOINTS(lParam).y;</div>
<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160;            <a class="code" href="a00263.html#ae1ceb717793b21c250225fce6cb4619a">_AdjustWindowRectEx</a>(&amp;rc, pwndT-&gt;style, FALSE,</div>
<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160;                    pwndT-&gt;ExStyle);</div>
<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160;            <a class="code" href="a00362.html#a4273ee771ddd5f3df4e5f365620c45f8">NtUserMoveWindow</a>(ACTIVE(pmdi), rc.left, rc.top,</div>
<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160;                    rc.right - rc.left, rc.bottom - rc.top, TRUE);</div>
<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160;            <a class="code" href="a00200.html#a1a5df2316cee93109da9da469578f07a">RecalculateScrollRanges</a>(pwnd, FALSE);</div>
<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160;        }</div>
<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160;        <span class="keywordflow">goto</span> CallDWP;</div>
<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160; </div>
<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160;    <span class="keywordflow">case</span> MM_CALCSCROLL: {</div>
<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160; </div>
<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160;        <span class="keywordflow">if</span> (SCROLL(pmdi) &amp; SCROLLCOUNT)</div>
<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160;            <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; </div>
<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160;        {</div>
<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160;            WORD sbj = pmdi-&gt;<a class="code" href="a01961.html#a25743a901d3b50d61c9482e2557b045e">wScroll</a> &amp; (HAS_SBVERT | HAS_SBHORZ);</div>
<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160; </div>
<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160;            <span class="keywordflow">if</span> (sbj)</div>
<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;            {</div>
<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160;                <a class="code" href="a00200.html#a56ca0e7e2d55ef100c76181eea1eee44">CalcClientScrolling</a>(hwnd, sbj, (BOOL) wParam);</div>
<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160; </div>
<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160;                SCROLL(pmdi) &amp;= ~CALCSCROLL;</div>
<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160;            }</div>
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160;        }</div>
<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160;    }</div>
<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160; </div>
<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;    <span class="keywordflow">case</span> WM_CREATE: {</div>
<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160;        LPCLIENTCREATESTRUCT pccs = ((LPCREATESTRUCT)lParam)-&gt;lpCreateParams;</div>
<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160; </div>
<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160;<span class="comment">         * Try to allocate space for the pmdi</span></div>
<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160;        <span class="keywordflow">if</span> ((pmdi = (<a class="code" href="a01961.html">PMDI</a>)UserLocalAlloc(HEAP_ZERO_MEMORY, <span class="keyword">sizeof</span>(<a class="code" href="a01961.html">MDI</a>)))) {</div>
<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160;            <a class="code" href="a00362.html#aee7fc73c943acf6740c2d0bb841b7aba">NtUserSetWindowLong</a>(hwnd, 4, (LONG)pmdi, FALSE);</div>
<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160;            <a class="code" href="a00362.html#abf4a1d1e53f7703a429cf806f38e0fcc">NtUserSetWindowFNID</a>(hwnd, FNID_CLEANEDUP_BIT);</div>
<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160;            <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160;        }</div>
<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160; </div>
<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160;        pwndParent = REBASEPWND(pwnd, spwndParent);</div>
<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160;        ACTIVE(pmdi) = NULL;</div>
<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160;        MAXED(pmdi)  = NULL;</div>
<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160;        CKIDS(pmdi)  = 0;</div>
<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160;        WINDOW(pmdi) = pccs-&gt;hWindowMenu;</div>
<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160; </div>
<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160;        FIRST(pmdi)  = pccs-&gt;idFirstChild;</div>
<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160;        SCROLL(pmdi) = 0;</div>
<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160;        HTITLE(pmdi) = <a class="code" href="a03638.html#a16fd457263dd41cbe1f41a4495bc85fe">TextAlloc</a>(REBASE(pwndParent, strName.Buffer));</div>
<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160; </div>
<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160;        <a class="code" href="a03611.html#a2a39ced7839ed0c5501c9fde2f3a930b">_DefSetText</a>(HW(pwndParent), NULL, FALSE);</div>
<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160; </div>
<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160;        <a class="code" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a>(pwndParent, &amp;tlpwndT);</div>
<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160;        <a class="code" href="a00200.html#afc19505c53fa29e5b27e73caf1296446">xxxSetFrameTitle</a>(pwndParent, pwnd, (LPWSTR)2L);</div>
<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160;        ThreadUnlock(&amp;tlpwndT);</div>
<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160; </div>
<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160;        <span class="keywordflow">if</span> (TestWF(pwnd, WFVSCROLL))</div>
<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160;            SCROLL(pmdi) |= HAS_SBVERT;</div>
<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160;        <span class="keywordflow">if</span> (TestWF(pwnd, WFHSCROLL))</div>
<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160;            SCROLL(pmdi) |= HAS_SBHORZ;</div>
<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160;        <span class="keywordflow">if</span> (SCROLL(pmdi)) {</div>
<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160;            <a class="code" href="a00026.html#a0cecedf7a462633cf5456292b526d8ec">ClearWindowState</a>(pwnd, WFVSCROLL | WFVSCROLL);</div>
<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160;        }</div>
<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160; </div>
<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160;<span class="comment">         * Set this dude&#39;s system menu.</span></div>
<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160;        <a class="code" href="a00362.html#ae605196462ba78c3bf2d2bf76a905878">NtUserGetSystemMenu</a>(HW(pwndParent), FALSE);</div>
<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160; </div>
<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160;<span class="comment">         * make sure we have the correct window client area if scrolls are</span></div>
<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160;<span class="comment">         * removed...  hack to take care of small progman bug</span></div>
<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160;        <span class="keywordflow">if</span> (SCROLL(pmdi)) {</div>
<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160;            NtUserUpdateClientRect(hwnd);</div>
<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160;        }</div>
<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160;    }</div>
<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160; </div>
<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160;    <span class="keywordflow">case</span> WM_DESTROY:</div>
<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160;    <span class="keywordflow">case</span> WM_FINALDESTROY:</div>
<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160;        <span class="keywordflow">if</span> (MAXED(pmdi)) {</div>
<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160;            <a class="code" href="a02581.html">PWND</a> pwndParent;</div>
<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160;            <a class="code" href="a02625.html">PMENU</a> pmenu;</div>
<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160; </div>
<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160;            pwndParent = REBASEPWND(pwnd, spwndParent);</div>
<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160;            pmenu = REBASE(pwndParent, spmenu);</div>
<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160;            <a class="code" href="a00197.html#aa300b1c82b580cb6f7134d6e719da13d">MDIRemoveSysMenu</a>(PtoH(pmenu), MAXED(pmdi), TRUE);</div>
<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160;        }</div>
<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160; </div>
<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160;<span class="comment">         * delete the title</span></div>
<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160;        <span class="keywordflow">if</span> (HTITLE(pmdi)) {</div>
<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160;            UserLocalFree(HTITLE(pmdi));</div>
<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;            HTITLE(pmdi) = NULL;</div>
<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160;        }</div>
<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160; </div>
<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;<span class="comment">         * Delete the menu items of the child windows in the frame.</span></div>
<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160;<span class="comment">         * Chances are, this is called by destroying the frame, but</span></div>
<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160;<span class="comment">         * one never knows, does one?</span></div>
<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160;<span class="comment">         *</span></div>
<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160;<span class="comment">         * Increase CKIDS by 1 after checking to delete the separator</span></div>
<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="a00263.html#a1662c7fcc1e9abee1764de987b64b1ee">IsMenu</a>(WINDOW(pmdi)) &amp;&amp; CKIDS(pmdi)++) {</div>
<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160;            <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> iPosition;</div>
<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160; </div>
<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160;            <span class="keywordflow">if</span> (CKIDS(pmdi) &gt; MAXITEMS + 1)</div>
<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160;                CKIDS(pmdi) = MAXITEMS + 1;</div>
<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160; </div>
<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160;            iPosition = <a class="code" href="a03743.html#a198bfb6a02f377add1b153df79b8a22d">GetMenuItemCount</a>(WINDOW(pmdi));</div>
<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160;            <span class="keywordflow">while</span> (CKIDS(pmdi)--) {</div>
<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160;                <a class="code" href="a00362.html#a0fe7305d679920848bce8881016c3451">NtUserDeleteMenu</a>(WINDOW(pmdi), --iPosition, MF_BYPOSITION);</div>
<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160;            }</div>
<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160;        }</div>
<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160; </div>
<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160;<span class="comment">         * Unlock those objects that are used by the MDI structure.</span></div>
<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160;        Unlock(&amp;MAXED(pmdi));</div>
<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160;        Unlock(&amp;ACTIVE(pmdi));</div>
<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160;        Unlock(&amp;WINDOW(pmdi));</div>
<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160; </div>
<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160;<span class="comment">         * Free the MDI structure</span></div>
<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;        UserLocalFree(pmdi);</div>
<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160;        <a class="code" href="a00362.html#abf4a1d1e53f7703a429cf806f38e0fcc">NtUserSetWindowFNID</a>(hwnd, FNID_CLEANEDUP_BIT);</div>
<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160; </div>
<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160; </div>
<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;    <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160;CallDWP:</div>
<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="a00041.html#a56a2a5f665575c0310d1a35792f43b13">DefWindowProcWorker</a>(pwnd, message, wParam, lParam, fAnsi);</div>
<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160;    }</div>
<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>&#160;    <span class="keywordflow">return</span> 0L;</div>
<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160;}</div>
<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>&#160; </div>
<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160; </div>
<div class="line"><a name="l01841"></a><span class="lineno"><a class="line" href="a00257.html#a2f9cd23cc0324808f8930741a0993e50"> 1841</a></span>&#160;LONG WINAPI <a class="code" href="a00200.html#a2e5f8707be3dc4f69ca0c0f27476d3e2">MDIClientWndProcA</a>(</div>
<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> message,</div>
<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160;    WPARAM wParam,</div>
<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160;    LPARAM lParam)</div>
<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>&#160;{</div>
<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd;</div>
<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>&#160; </div>
<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160;    <span class="keywordflow">if</span> ((pwnd = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwnd)) == NULL) {</div>
<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160;        <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160;    }</div>
<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160; </div>
<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="a00200.html#a79965914a2e9e651b434416be79d1457">MDIClientWndProcWorker</a>(pwnd, message, wParam, lParam, TRUE);</div>
<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160;}</div>
<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160; </div>
<div class="line"><a name="l01856"></a><span class="lineno"><a class="line" href="a00257.html#a523c3310bbfcb1440ff1dadc371ffea1"> 1856</a></span>&#160;LONG WINAPI <a class="code" href="a00200.html#af7a99f6698f6bc9ca04488ae752fb403">MDIClientWndProcW</a>(</div>
<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> message,</div>
<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>&#160;    WPARAM wParam,</div>
<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160;    LPARAM lParam)</div>
<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160;{</div>
<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd;</div>
<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160; </div>
<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160;    <span class="keywordflow">if</span> ((pwnd = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwnd)) == NULL) {</div>
<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160;        <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160;    }</div>
<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160; </div>
<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="a00200.html#a79965914a2e9e651b434416be79d1457">MDIClientWndProcWorker</a>(pwnd, message, wParam, lParam, FALSE);</div>
<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160;}</div>
<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160; </div>
<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160; </div>
<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160; </div>
<div class="line"><a name="l01879"></a><span class="lineno"><a class="line" href="a00200.html#a5907c19451a0ab4a3898a83838892707"> 1879</a></span>&#160;LONG <a class="code" href="a00200.html#a5907c19451a0ab4a3898a83838892707">DefFrameProcWorker</a>(</div>
<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160;    HWND hwndMDI,</div>
<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wMsg,</div>
<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160;    WPARAM wParam,</div>
<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160;    LPARAM lParam,</div>
<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160;    BOOL fAnsi)</div>
<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160;{</div>
<div class="line"><a name="l01887"></a><span class="lineno"> 1887</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd;</div>
<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndMDI;</div>
<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>&#160;    <a class="code" href="a01961.html">PMDI</a> pmdi;</div>
<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>&#160;    <a class="code" href="a01881.html">TL</a> tlpwndT;</div>
<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>&#160;    HWND hwndT;</div>
<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndT;</div>
<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>&#160;    PMDINEXTMENU pmnm;</div>
<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160;    WINDOWPLACEMENT wp;</div>
<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160; </div>
<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160;    <span class="keywordflow">if</span> ((pwnd = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwnd)) == NULL) {</div>
<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>&#160;        <span class="keywordflow">return</span> (0L);</div>
<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160;    }</div>
<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160; </div>
<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160;    <span class="keywordflow">if</span> (hwndMDI == NULL) {</div>
<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160;        <span class="keywordflow">goto</span> CallDWP;</div>
<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160;    }</div>
<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160; </div>
<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160;    <span class="keywordflow">if</span> ((pwndMDI = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndMDI)) == NULL) {</div>
<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160;        <span class="keywordflow">return</span> (0L);</div>
<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>&#160;    }</div>
<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwndMDI);</div>
<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>&#160; </div>
<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160;<span class="comment">     * Get a pointer to the MDI structure</span></div>
<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160;    pmdi = ((<a class="code" href="a00257.html#a8fbbab4c887a01986a0cf83e1fba2554">PMDIWND</a>)pwndMDI)-&gt;pmdi;</div>
<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160; </div>
<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160;    <span class="keywordflow">switch</span> (wMsg) {</div>
<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160; </div>
<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160;<span class="comment">     * If there is a maximized child window, add it&#39;s window text...</span></div>
<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01920"></a><span class="lineno"> 1920</span>&#160;    <span class="keywordflow">case</span> WM_SETTEXT: {</div>
<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160;        LPWSTR lpwsz = NULL;</div>
<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160; </div>
<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160;        <span class="keywordflow">if</span> (fAnsi &amp;&amp; lParam) {</div>
<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160;            <span class="keywordflow">if</span> (!MBToWCS((LPSTR)lParam, -1, &amp;lpwsz, -1, TRUE))</div>
<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160;                <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160;            lParam = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)lpwsz;</div>
<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;        }</div>
<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160;        <a class="code" href="a00200.html#afc19505c53fa29e5b27e73caf1296446">xxxSetFrameTitle</a>(pwnd, pwndMDI, (LPWSTR)lParam);</div>
<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160; </div>
<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160;        <span class="keywordflow">if</span> (lpwsz)</div>
<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160;            UserLocalFree(lpwsz);</div>
<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160;    }</div>
<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160;    <span class="keywordflow">case</span> WM_NCACTIVATE:</div>
<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160;        SendMessage(hwndMDI, WM_NCACTIVATE, wParam, lParam);</div>
<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160;        <span class="keywordflow">goto</span> CallDWP;</div>
<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160; </div>
<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>&#160;    <span class="keywordflow">case</span> WM_COMMAND:</div>
<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160;        <span class="keywordflow">if</span> ((<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)LOWORD(wParam) == (FIRST(pmdi) + MAXITEMS -1)) {</div>
<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160; </div>
<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160;<span class="comment">             * selected the More...  item</span></div>
<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160;            <span class="keywordflow">if</span> (fAnsi) {</div>
<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160;                wParam = <a class="code" href="a00047.html#aaa772e7fa87db74332ec0252eb86209f">DialogBoxParamA</a>(<a class="code" href="a00020.html#a821be27172eef7b5f9dc20f1b2ea5975">hmodUser</a>,</div>
<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160;                                         MAKEINTRESOURCEA(IDD_MDI_ACTIVATE),</div>
<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160;                                         hwnd,</div>
<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160;                                         <a class="code" href="a00197.html#af325eefdb4af81c06dfdad4cd7a5db2d">MDIActivateDlgProcA</a>,</div>
<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160;                                         (LONG)pwndMDI);</div>
<div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160;                wParam = <a class="code" href="a00047.html#a901a4dc4e380dc0fa8cc0e62f5f0940f">DialogBoxParamW</a>(<a class="code" href="a00020.html#a821be27172eef7b5f9dc20f1b2ea5975">hmodUser</a>,</div>
<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160;                                         MAKEINTRESOURCEW(IDD_MDI_ACTIVATE),</div>
<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160;                                         hwnd,</div>
<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160;                                         <a class="code" href="a00197.html#ab4ffd37b8e75f99158010b432fe9ca58">MDIActivateDlgProcW</a>,</div>
<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160;                                         (LONG)pwndMDI);</div>
<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160;            }</div>
<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160;            <span class="keywordflow">if</span> ((<span class="keywordtype">int</span>)wParam &gt;= 0) {</div>
<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160;                wParam += FIRST(pmdi);</div>
<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160;                <span class="keywordflow">goto</span> ActivateTheChild;</div>
<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160;            }</div>
<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160;        } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (((<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)LOWORD(wParam) &gt;= FIRST(pmdi)) &amp;&amp;</div>
<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160;                ((<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)LOWORD(wParam) &lt; FIRST(pmdi) + CKIDS(pmdi))) {</div>
<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160;ActivateTheChild:</div>
<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160;            pwndT = <a class="code" href="a00197.html#a779ab41018bd3951528a4201d4b5a0fb">FindPwndChild</a>(pwndMDI, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)LOWORD(wParam));</div>
<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160;            <a class="code" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a>(pwndT, &amp;tlpwndT);</div>
<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160; </div>
<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160;            SendMessage(hwndMDI, WM_MDIACTIVATE, (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)HW(pwndT), 0L);</div>
<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160; </div>
<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160;<span class="comment">             * if minimized, restore it.</span></div>
<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160;            <span class="keywordflow">if</span> (pwndT != NULL &amp;&amp; TestWF(pwndT, WFMINIMIZED))</div>
<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160;                    <span class="comment">//</span></div>
<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160;                    <span class="comment">// Fix for B#1510.  Don&#39;t restore directly.  Send child</span></div>
<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;                    <span class="comment">// a restore message.</span></div>
<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160;                    <span class="comment">//</span></div>
<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160;                SendMessage(HWq(pwndT), WM_SYSCOMMAND, (WPARAM)SC_RESTORE, 0L);</div>
<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160;            ThreadUnlock(&amp;tlpwndT);</div>
<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160;            <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160;        }</div>
<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span>&#160; </div>
<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>&#160;        <span class="keywordflow">switch</span> (wParam &amp; 0xFFF0) {</div>
<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160; </div>
<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160;<span class="comment">         * System menu commands on a maxed mdi child</span></div>
<div class="line"><a name="l01986"></a><span class="lineno"> 1986</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160;        <span class="keywordflow">case</span> SC_SIZE:</div>
<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160;        <span class="keywordflow">case</span> SC_MOVE:</div>
<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>&#160;        <span class="keywordflow">case</span> SC_RESTORE:</div>
<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>&#160;        <span class="keywordflow">case</span> SC_CLOSE:</div>
<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>&#160;        <span class="keywordflow">case</span> SC_NEXTWINDOW:</div>
<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>&#160;        <span class="keywordflow">case</span> SC_PREVWINDOW:</div>
<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160;        <span class="keywordflow">case</span> SC_MINIMIZE:</div>
<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160;        <span class="keywordflow">case</span> SC_MAXIMIZE:</div>
<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160;            hwndT = MAXED(pmdi);</div>
<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160;            <span class="keywordflow">if</span> (hwndT != NULL) {</div>
<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160;                <a class="code" href="a02581.html">PWND</a> pwndT = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndT);</div>
<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>&#160;                <span class="keywordflow">if</span> (pwndT == NULL)</div>
<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>&#160;                    <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>&#160;                <span class="keywordflow">if</span> (wParam &amp; 0xFFF0 == SC_CLOSE)</div>
<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160;                {</div>
<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>&#160;                    <span class="keywordflow">if</span> (!<a class="code" href="a00365.html#a97cf597a555ebc0a9906a10df3382f33">_MNCanClose</a>(pwndT) &amp;&amp; TestWF(pwndT, WFSYSMENU))</div>
<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>&#160;                        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>&#160; </div>
<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>&#160;                }</div>
<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>&#160;                <span class="keywordflow">else</span> <span class="keywordflow">if</span> (((wParam &amp; 0xFFF0) == SC_MINIMIZE) &amp;&amp; !TestWF(pwndT, WFMINBOX))</div>
<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>&#160;                    <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>&#160; </div>
<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160;                <span class="keywordflow">return</span> SendMessage(hwndT, WM_SYSCOMMAND, wParam, lParam);</div>
<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>&#160;            }</div>
<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>&#160;        }</div>
<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160;        <span class="keywordflow">goto</span> CallDWP;</div>
<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160; </div>
<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>&#160;    <span class="keywordflow">case</span> WM_SIZE:</div>
<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>&#160;        <span class="keywordflow">if</span> (wParam != SIZEICONIC) {</div>
<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160;            <a class="code" href="a00362.html#a4273ee771ddd5f3df4e5f365620c45f8">NtUserMoveWindow</a>(hwndMDI, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);</div>
<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>&#160;            wp.length = <span class="keyword">sizeof</span>(WINDOWPLACEMENT);</div>
<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>&#160;            <span class="keywordflow">if</span> (<a class="code" href="a03611.html#a6070b5fbb565045cdb9251e4276a4f93">GetWindowPlacement</a>(hwnd, &amp;wp)) {</div>
<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160;                RECT rcT;</div>
<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160;                <span class="keywordtype">int</span>  clB;</div>
<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>&#160; </div>
<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>&#160;               <span class="comment">/*</span></div>
<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160;<span class="comment">                * If frame is iconic, size mdi win to be size of restored</span></div>
<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span>&#160;<span class="comment">                * frame&#39;s client area.  Thus mdi children etc created in here</span></div>
<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>&#160;<span class="comment">                * use the proper mdiclient size.</span></div>
<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>&#160;<span class="comment">                */</span></div>
<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>&#160;               clB = <a class="code" href="a00365.html#a7c4e37334c4498482f6192199d683fbf">GetWindowBorders</a>(pwnd-&gt;style, pwnd-&gt;ExStyle, TRUE, TRUE);</div>
<div class="line"><a name="l02029"></a><span class="lineno"> 2029</span>&#160; </div>
<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>&#160;               <a class="code" href="a00365.html#add42cfa617c629deef27087b88368891">CopyInflateRect</a>(&amp;rcT, &amp;wp.rcNormalPosition,</div>
<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>&#160;                        -clB*SYSMET(CXBORDER), -clB*SYSMET(CYBORDER));</div>
<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>&#160; </div>
<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>&#160;               <span class="keywordflow">if</span> (TestWF(pwnd, WFBORDERMASK) == LOBYTE(WFCAPTION))</div>
<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160;                       rcT.top += SYSMET(CYCAPTION);</div>
<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;               rcT.top += SYSMET(CYMENU);</div>
<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160; </div>
<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;               <a class="code" href="a00362.html#a4273ee771ddd5f3df4e5f365620c45f8">NtUserMoveWindow</a>(hwndMDI, 0, 0, rcT.right-rcT.left,</div>
<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160;                       rcT.bottom-rcT.top, TRUE);</div>
<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>&#160;            }</div>
<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160;        }</div>
<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;        <span class="keywordflow">goto</span> CallDWP;</div>
<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160; </div>
<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160;    <span class="keywordflow">case</span> WM_SETFOCUS:</div>
<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160;        <a class="code" href="a00362.html#a3aa84979aeb1f89caa4217dc0f88b104">NtUserSetFocus</a>(hwndMDI);</div>
<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160; </div>
<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160;    <span class="keywordflow">case</span> WM_NEXTMENU:</div>
<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160;        <span class="keywordflow">if</span> (TestWF(pwnd, WFSYSMENU) &amp;&amp; !TestWF(pwnd, WFMINIMIZED) &amp;&amp;</div>
<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160;            ACTIVE(pmdi) &amp;&amp; !MAXED(pmdi))</div>
<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160;        {</div>
<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160;            <a class="code" href="a02625.html">PMENU</a> pmenuIn;</div>
<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160;<span class="comment">             * Go to child system menu by wrapping to the left from</span></div>
<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160;<span class="comment">             * the first popup in the menu bar or to the right from</span></div>
<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160;<span class="comment">             * the frame sysmenu.</span></div>
<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160;            pmnm = (PMDINEXTMENU)lParam;</div>
<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160;            pmenuIn = RevalidateHmenu(pmnm-&gt;hmenuIn);</div>
<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160; </div>
<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160;            <span class="keywordflow">if</span> (pmenuIn &amp;&amp; ((wParam == VK_LEFT &amp;&amp; pmenuIn == pwnd-&gt;<a class="code" href="a02581.html#ad680eabbc65eb4d160362e2c73a19994">spmenu</a>) ||</div>
<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160;                    (wParam == VK_RIGHT &amp;&amp; pmnm-&gt;hmenuIn ==</div>
<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160;                    <a class="code" href="a00362.html#ae605196462ba78c3bf2d2bf76a905878">NtUserGetSystemMenu</a>(hwnd, FALSE)))) {</div>
<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160; </div>
<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>&#160;                HMENU hmenu;</div>
<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160;                <a class="code" href="a02581.html">PWND</a> pwndActive;</div>
<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160; </div>
<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>&#160;                <span class="comment">//</span></div>
<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160;                <span class="comment">// Make sure the window is still valid</span></div>
<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>&#160;                <span class="comment">//</span></div>
<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160;                <span class="keywordflow">if</span> ((pwndActive = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(ACTIVE(pmdi))) == NULL) {</div>
<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>&#160;                    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>&#160;                }</div>
<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>&#160; </div>
<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160;                <span class="comment">//</span></div>
<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>&#160;                <span class="comment">// Make sure the child&#39;s system menu items are updated</span></div>
<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>&#160;                <span class="comment">// (i.e. the ones are enabled/disabled)</span></div>
<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>&#160;                <span class="comment">//</span></div>
<div class="line"><a name="l02078"></a><span class="lineno"> 2078</span>&#160;                <span class="keywordflow">if</span> (!TestWF(pwndActive,WFMAXIMIZED)) {</div>
<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>&#160;                    NtUserSetSysMenu(ACTIVE(pmdi));</div>
<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span>&#160;                }</div>
<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>&#160; </div>
<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>&#160;                hmenu = <a class="code" href="a00362.html#ae605196462ba78c3bf2d2bf76a905878">NtUserGetSystemMenu</a>(ACTIVE(pmdi), FALSE);</div>
<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>&#160;                pmnm-&gt;hmenuNext = hmenu;</div>
<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>&#160;                pmnm-&gt;hwndNext = ACTIVE(pmdi);</div>
<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>&#160; </div>
<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>&#160;                <span class="keywordflow">return</span> TRUE;</div>
<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>&#160;            }</div>
<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>&#160;        }</div>
<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>&#160; </div>
<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160;<span class="comment">         * default behaviour</span></div>
<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>&#160;        <span class="keywordflow">return</span> 0L;</div>
<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>&#160; </div>
<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>&#160;    <span class="keywordflow">case</span> WM_MENUCHAR:</div>
<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>&#160;        <span class="keywordflow">if</span> (!TestWF(pwnd, WFMINIMIZED) &amp;&amp; LOWORD(wParam) == TEXT(<span class="charliteral">&#39;-&#39;</span>)) {</div>
<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>&#160;            <span class="keywordflow">if</span> (MAXED(pmdi))</div>
<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>&#160;                <span class="keywordflow">return</span> MAKELONG(0, 2);</div>
<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>&#160;            <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ACTIVE(pmdi)) {</div>
<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>&#160;              <a class="code" href="a00356.html#a3f53b9d5a549a62853c4e3fb22b649d7">PostMessage</a>(ACTIVE(pmdi), WM_SYSCOMMAND,</div>
<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>&#160;                    SC_KEYMENU, MAKELONG(TEXT(<span class="charliteral">&#39;-&#39;</span>), 0));</div>
<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>&#160;              <span class="keywordflow">return</span> MAKELONG(0, 1);</div>
<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>&#160;          }</div>
<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span>&#160;        }</div>
<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span>&#160; </div>
<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>&#160;<span class="comment">         ** FALL THRU **</span></div>
<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>&#160; </div>
<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>&#160;    <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>&#160;CallDWP:</div>
<div class="line"><a name="l02112"></a><span class="lineno"> 2112</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="a00041.html#a56a2a5f665575c0310d1a35792f43b13">DefWindowProcWorker</a>(pwnd, wMsg, wParam, lParam, fAnsi);</div>
<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span>&#160;    }</div>
<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>&#160; </div>
<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>&#160;    <span class="keywordflow">return</span> 0L;</div>
<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span>&#160;}</div>
<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span>&#160; </div>
<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>&#160; </div>
<div class="line"><a name="l02119"></a><span class="lineno"><a class="line" href="a00200.html#ac6db366fd4def530e4617a5e37bed6f0"> 2119</a></span>&#160;LONG WINAPI <a class="code" href="a00200.html#ac6db366fd4def530e4617a5e37bed6f0">DefFrameProcW</a>(</div>
<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>&#160;    HWND hwndMDIClient,</div>
<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> message,</div>
<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>&#160;    WPARAM wParam,</div>
<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>&#160;    LPARAM lParam)</div>
<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>&#160;{</div>
<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="a00200.html#a5907c19451a0ab4a3898a83838892707">DefFrameProcWorker</a>(hwnd, hwndMDIClient, message, wParam, lParam,</div>
<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>&#160;                              FALSE);</div>
<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>&#160;}</div>
<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>&#160; </div>
<div class="line"><a name="l02130"></a><span class="lineno"><a class="line" href="a00200.html#a161b83ffc2a2a8d4bc92d6283ce32d17"> 2130</a></span>&#160;LONG WINAPI <a class="code" href="a00200.html#a161b83ffc2a2a8d4bc92d6283ce32d17">DefFrameProcA</a>(</div>
<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>&#160;    HWND hwndMDIClient,</div>
<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> message,</div>
<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>&#160;    WPARAM wParam,</div>
<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>&#160;    LPARAM lParam)</div>
<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>&#160;{</div>
<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="a00200.html#a5907c19451a0ab4a3898a83838892707">DefFrameProcWorker</a>(hwnd, hwndMDIClient, message, wParam,</div>
<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>&#160;                              lParam, TRUE);</div>
<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span>&#160;}</div>
<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>&#160; </div>
<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span>&#160; </div>
<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>&#160; </div>
<div class="line"><a name="l02149"></a><span class="lineno"><a class="line" href="a00200.html#a26b35b1b5149f619769c999f93794f3d"> 2149</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="a00200.html#a26b35b1b5149f619769c999f93794f3d">ChildMinMaxInfo</a>(</div>
<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd,</div>
<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span>&#160;    PMINMAXINFO pmmi)</div>
<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span>&#160;{</div>
<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndParent = REBASEPWND(pwnd, spwndParent);</div>
<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span>&#160;    RECT rc;</div>
<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span>&#160; </div>
<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span>&#160;    <a class="code" href="a00935.html#a31ccccdb469eefbb55d18b71a26af0da">CopyRect</a>(&amp;rc, &amp;pwndParent-&gt;<a class="code" href="a02581.html#a17d59d04094aef8b577c0aa781cdf2c6">rcClient</a>);</div>
<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span>&#160;    <a class="code" href="a00365.html#a76a779f43c6f191cc7b24e787ac3c824">_ScreenToClient</a>(pwndParent, (LPPOINT)&amp;rc.left);</div>
<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span>&#160;    <a class="code" href="a00365.html#a76a779f43c6f191cc7b24e787ac3c824">_ScreenToClient</a>(pwndParent, (LPPOINT)&amp;rc.right);</div>
<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span>&#160; </div>
<div class="line"><a name="l02160"></a><span class="lineno"> 2160</span>&#160;    <a class="code" href="a00263.html#ae1ceb717793b21c250225fce6cb4619a">_AdjustWindowRectEx</a>(&amp;rc, pwnd-&gt;style, FALSE, pwnd-&gt;ExStyle);</div>
<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span>&#160; </div>
<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>&#160;<span class="comment">     * Position...</span></div>
<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>&#160;    pmmi-&gt;ptMaxPosition.x = rc.left;</div>
<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160;    pmmi-&gt;ptMaxPosition.y = rc.top;</div>
<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160;    pmmi-&gt;ptMaxSize.x = rc.right - rc.left;</div>
<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>&#160;    pmmi-&gt;ptMaxSize.y = rc.bottom - rc.top;</div>
<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>&#160;}</div>
<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>&#160; </div>
<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>&#160; </div>
<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span>&#160; </div>
<div class="line"><a name="l02179"></a><span class="lineno"><a class="line" href="a00200.html#ac5d5d4faa720d277b543aa6cd72bb1b0"> 2179</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="a00200.html#ac5d5d4faa720d277b543aa6cd72bb1b0">xxxChildResize</a>(</div>
<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd,</div>
<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wMode)</div>
<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span>&#160;{</div>
<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndT;</div>
<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndMDI = REBASEPWND(pwnd, spwndParent);</div>
<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndFrame = REBASEPWND(pwndMDI, spwndParent);</div>
<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span>&#160;    HWND hwndOldActive;</div>
<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>&#160;    <a class="code" href="a01961.html">PMDI</a> pmdi;</div>
<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span>&#160;    HWND hwndActive;</div>
<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span>&#160;    <a class="code" href="a01881.html">TL</a> tlpwndMDI;</div>
<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span>&#160;    <a class="code" href="a01881.html">TL</a> tlpwndFrame;</div>
<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span>&#160;    <a class="code" href="a01881.html">TL</a> tlpwndT;</div>
<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span>&#160;    <a class="code" href="a02625.html">PMENU</a> pmenu;</div>
<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span>&#160;    HWND hwnd = HWq(pwnd);</div>
<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>&#160; </div>
<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span>&#160; </div>
<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span>&#160;    NtUserSetSysMenu(hwnd);</div>
<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span>&#160; </div>
<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span>&#160;    <a class="code" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a>(pwndMDI, &amp;tlpwndMDI);</div>
<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span>&#160;    <a class="code" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a>(pwndFrame, &amp;tlpwndFrame);</div>
<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span>&#160; </div>
<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>&#160;<span class="comment">     * Get a pointer to the MDI structure</span></div>
<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span>&#160;    pmdi = ((<a class="code" href="a00257.html#a8fbbab4c887a01986a0cf83e1fba2554">PMDIWND</a>)pwndMDI)-&gt;pmdi;</div>
<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span>&#160;    pmenu = REBASE(pwndFrame, spmenu);</div>
<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span>&#160; </div>
<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span>&#160;    <span class="keywordflow">if</span> (MAXED(pmdi) == hwnd &amp;&amp; wMode != SIZEFULLSCREEN) {</div>
<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span>&#160;<span class="comment">         * Restoring the current maximized window...</span></div>
<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span>&#160;<span class="comment">         * Remove the system menu from the Frame window.</span></div>
<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span>&#160;        <span class="keywordflow">if</span> (!(SCROLL(pmdi) &amp; OTHERMAXING)) {</div>
<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span>&#160;            Unlock(&amp;MAXED(pmdi));</div>
<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span>&#160;            <a class="code" href="a00197.html#aa300b1c82b580cb6f7134d6e719da13d">MDIRemoveSysMenu</a>(PtoH(pmenu), hwnd, TRUE);</div>
<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span>&#160;            Unlock(&amp;MAXED(pmdi));</div>
<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span>&#160;            <a class="code" href="a00200.html#afc19505c53fa29e5b27e73caf1296446">xxxSetFrameTitle</a>(pwndFrame, pwndMDI, (LPWSTR)1L);</div>
<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>&#160;        }</div>
<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span>&#160;    }</div>
<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span>&#160; </div>
<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span>&#160;    <span class="keywordflow">if</span> (wMode == SIZEFULLSCREEN) {</div>
<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span>&#160; </div>
<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span>&#160;<span class="comment">         * Already maximized?</span></div>
<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span>&#160;        <span class="keywordflow">if</span> (hwnd == MAXED(pmdi))</div>
<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span>&#160;            <span class="keywordflow">goto</span> Exit;</div>
<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span>&#160; </div>
<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span>&#160;<span class="comment">         * Maximizing this window...</span></div>
<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l02232"></a><span class="lineno"> 2232</span>&#160; </div>
<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span>&#160;        pmdi-&gt;<a class="code" href="a01961.html#a25743a901d3b50d61c9482e2557b045e">wScroll</a> |= OTHERMAXING | SCROLLCOUNT;</div>
<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span>&#160; </div>
<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span>&#160;        <span class="keywordflow">if</span> (hwndOldActive = MAXED(pmdi)) {</div>
<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span>&#160;            SendMessage(hwndOldActive, WM_SETREDRAW, FALSE, 0L);</div>
<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span>&#160;            <a class="code" href="a00197.html#aa300b1c82b580cb6f7134d6e719da13d">MDIRemoveSysMenu</a>(PtoH(pmenu), hwndOldActive, FALSE);</div>
<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span>&#160;            <a class="code" href="a00362.html#ad82394755c01195d797f677ced46660a">NtUserMinMaximize</a>(hwndOldActive, SW_MDIRESTORE, FALSE);</div>
<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span>&#160;            SendMessage(hwndOldActive, WM_SETREDRAW, TRUE, 0L);</div>
<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span>&#160;        }</div>
<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span>&#160; </div>
<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span>&#160;        Lock(&amp;MAXED(pmdi), hwnd);</div>
<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span>&#160; </div>
<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span>&#160;<span class="comment">         * Add the system menu to the Frame window.</span></div>
<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span>&#160;        <a class="code" href="a00197.html#a4d32131a965be194567156981da95b09">MDIAddSysMenu</a>(PtoH(pmenu), hwnd);</div>
<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span>&#160;        <a class="code" href="a00200.html#afc19505c53fa29e5b27e73caf1296446">xxxSetFrameTitle</a>(pwndFrame, pwndMDI, (LPWSTR)1L);</div>
<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span>&#160; </div>
<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span>&#160;        pmdi-&gt;<a class="code" href="a01961.html#a25743a901d3b50d61c9482e2557b045e">wScroll</a> &amp;= ~(OTHERMAXING | SCROLLCOUNT);</div>
<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span>&#160;    }</div>
<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span>&#160; </div>
<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span>&#160;    <span class="keywordflow">if</span> (wMode == SIZEICONIC) {</div>
<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span>&#160;        <span class="keywordflow">for</span> (pwndT = REBASEPWND(pwndMDI, spwndChild); pwndT;</div>
<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span>&#160;                pwndT = REBASEPWND(pwndT, spwndNext)) {</div>
<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span>&#160;            <span class="keywordflow">if</span> (!pwndT-&gt;<a class="code" href="a02581.html#a9e4b9545017c505ebd9b8808bd470ab9">spwndOwner</a> &amp;&amp; TestWF(pwndT, WFVISIBLE))</div>
<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span>&#160;                <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span>&#160;        }</div>
<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span>&#160; </div>
<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span>&#160;        hwndActive = <a class="code" href="a00362.html#aa5258078ff9b60251c9b6024af494146">NtUserQueryWindow</a>(hwnd, WindowActiveWindow);</div>
<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span>&#160;        <span class="keywordflow">if</span> ((pwndT != NULL) &amp;&amp; (hwndActive != NULL) &amp;&amp;</div>
<div class="line"><a name="l02262"></a><span class="lineno"> 2262</span>&#160;                <a class="code" href="a03743.html#a8cf1d97d79126c678e058be653fa9296">IsChild</a>(hwndActive, HWq(pwndMDI))) {</div>
<div class="line"><a name="l02263"></a><span class="lineno"> 2263</span>&#160;            ThreadLockAlways(pwndT, &amp;tlpwndT);</div>
<div class="line"><a name="l02264"></a><span class="lineno"> 2264</span>&#160;            SendMessage(HWq(pwndT), WM_CHILDACTIVATE, 0, 0L);</div>
<div class="line"><a name="l02265"></a><span class="lineno"> 2265</span>&#160;            ThreadUnlock(&amp;tlpwndT);</div>
<div class="line"><a name="l02266"></a><span class="lineno"> 2266</span>&#160;        }</div>
<div class="line"><a name="l02267"></a><span class="lineno"> 2267</span>&#160;    }</div>
<div class="line"><a name="l02268"></a><span class="lineno"> 2268</span>&#160; </div>
<div class="line"><a name="l02269"></a><span class="lineno"> 2269</span>&#160;    <span class="keywordflow">if</span> (!(SCROLL(pmdi) &amp; SCROLLCOUNT))</div>
<div class="line"><a name="l02270"></a><span class="lineno"> 2270</span>&#160;        <a class="code" href="a00200.html#a1a5df2316cee93109da9da469578f07a">RecalculateScrollRanges</a>(pwndMDI, FALSE);</div>
<div class="line"><a name="l02271"></a><span class="lineno"> 2271</span>&#160; </div>
<div class="line"><a name="l02272"></a><span class="lineno"> 2272</span>&#160;Exit:</div>
<div class="line"><a name="l02273"></a><span class="lineno"> 2273</span>&#160;    ThreadUnlock(&amp;tlpwndFrame);</div>
<div class="line"><a name="l02274"></a><span class="lineno"> 2274</span>&#160;    ThreadUnlock(&amp;tlpwndMDI);</div>
<div class="line"><a name="l02275"></a><span class="lineno"> 2275</span>&#160;}</div>
<div class="line"><a name="l02276"></a><span class="lineno"> 2276</span>&#160; </div>
<div class="line"><a name="l02277"></a><span class="lineno"> 2277</span>&#160; </div>
<div class="line"><a name="l02278"></a><span class="lineno"> 2278</span>&#160; </div>
<div class="line"><a name="l02285"></a><span class="lineno"><a class="line" href="a00200.html#aa3c06b5c04c6b3cda370a97b37e2d3c8"> 2285</a></span>&#160;LONG <a class="code" href="a00200.html#aa3c06b5c04c6b3cda370a97b37e2d3c8">DefMDIChildProcWorker</a>(</div>
<div class="line"><a name="l02286"></a><span class="lineno"> 2286</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l02287"></a><span class="lineno"> 2287</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wMsg,</div>
<div class="line"><a name="l02288"></a><span class="lineno"> 2288</span>&#160;    WPARAM wParam,</div>
<div class="line"><a name="l02289"></a><span class="lineno"> 2289</span>&#160;    LPARAM lParam,</div>
<div class="line"><a name="l02290"></a><span class="lineno"> 2290</span>&#160;    BOOL fAnsi)</div>
<div class="line"><a name="l02291"></a><span class="lineno"> 2291</span>&#160;{</div>
<div class="line"><a name="l02292"></a><span class="lineno"> 2292</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd;</div>
<div class="line"><a name="l02293"></a><span class="lineno"> 2293</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndParent;</div>
<div class="line"><a name="l02294"></a><span class="lineno"> 2294</span>&#160;    <a class="code" href="a01961.html">PMDI</a> pmdi;</div>
<div class="line"><a name="l02295"></a><span class="lineno"> 2295</span>&#160;    PMDINEXTMENU pmnm;</div>
<div class="line"><a name="l02296"></a><span class="lineno"> 2296</span>&#160;    HWND hwndT;</div>
<div class="line"><a name="l02297"></a><span class="lineno"> 2297</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndT;</div>
<div class="line"><a name="l02298"></a><span class="lineno"> 2298</span>&#160;    <a class="code" href="a01881.html">TL</a> tlpwndT;</div>
<div class="line"><a name="l02299"></a><span class="lineno"> 2299</span>&#160;    <a class="code" href="a01881.html">TL</a> tlpwndParent;</div>
<div class="line"><a name="l02300"></a><span class="lineno"> 2300</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dw;</div>
<div class="line"><a name="l02301"></a><span class="lineno"> 2301</span>&#160; </div>
<div class="line"><a name="l02302"></a><span class="lineno"> 2302</span>&#160;    <span class="keywordflow">if</span> ((pwnd = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwnd)) == NULL) {</div>
<div class="line"><a name="l02303"></a><span class="lineno"> 2303</span>&#160;        <span class="keywordflow">return</span> (0L);</div>
<div class="line"><a name="l02304"></a><span class="lineno"> 2304</span>&#160;    }</div>
<div class="line"><a name="l02305"></a><span class="lineno"> 2305</span>&#160; </div>
<div class="line"><a name="l02306"></a><span class="lineno"> 2306</span>&#160;    <a class="code" href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a>(pwnd);</div>
<div class="line"><a name="l02307"></a><span class="lineno"> 2307</span>&#160; </div>
<div class="line"><a name="l02308"></a><span class="lineno"> 2308</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l02309"></a><span class="lineno"> 2309</span>&#160;<span class="comment">     * Check to see if this is a real mdi child window</span></div>
<div class="line"><a name="l02310"></a><span class="lineno"> 2310</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l02311"></a><span class="lineno"> 2311</span>&#160;    pwndParent = REBASEPWND(pwnd, spwndParent);</div>
<div class="line"><a name="l02312"></a><span class="lineno"> 2312</span>&#160;    <span class="keywordflow">if</span> (!pwndParent || GETFNID(pwndParent) != FNID_MDICLIENT) {</div>
<div class="line"><a name="l02313"></a><span class="lineno"> 2313</span>&#160;        <a class="code" href="a00371.html#ae61d954062a9ece52e350e54cad9a23d">RIPERR0</a>(ERROR_NON_MDICHILD_WINDOW, <a class="code" href="a00371.html#ad6b24a3d61abdc148c8751b5c5add686">RIP_VERBOSE</a>, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a name="l02314"></a><span class="lineno"> 2314</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="a00041.html#a56a2a5f665575c0310d1a35792f43b13">DefWindowProcWorker</a>(pwnd, wMsg, wParam, lParam, fAnsi);</div>
<div class="line"><a name="l02315"></a><span class="lineno"> 2315</span>&#160;    }</div>
<div class="line"><a name="l02316"></a><span class="lineno"> 2316</span>&#160; </div>
<div class="line"><a name="l02317"></a><span class="lineno"> 2317</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l02318"></a><span class="lineno"> 2318</span>&#160;<span class="comment">     * Get a pointer to the MDI structure, if it still exists</span></div>
<div class="line"><a name="l02319"></a><span class="lineno"> 2319</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l02320"></a><span class="lineno"> 2320</span>&#160;    pmdi = ((<a class="code" href="a00257.html#a8fbbab4c887a01986a0cf83e1fba2554">PMDIWND</a>)pwndParent)-&gt;pmdi;</div>
<div class="line"><a name="l02321"></a><span class="lineno"> 2321</span>&#160;    <span class="keywordflow">if</span> ((LONG)pmdi == (LONG)-1) {</div>
<div class="line"><a name="l02322"></a><span class="lineno"> 2322</span>&#160;        <span class="keywordflow">goto</span> CallDWP;</div>
<div class="line"><a name="l02323"></a><span class="lineno"> 2323</span>&#160;    }</div>
<div class="line"><a name="l02324"></a><span class="lineno"> 2324</span>&#160; </div>
<div class="line"><a name="l02325"></a><span class="lineno"> 2325</span>&#160;    <span class="keywordflow">switch</span> (wMsg) {</div>
<div class="line"><a name="l02326"></a><span class="lineno"> 2326</span>&#160;    <span class="keywordflow">case</span> WM_SETFOCUS:</div>
<div class="line"><a name="l02327"></a><span class="lineno"> 2327</span>&#160;        <span class="keywordflow">if</span> (DIFFWOWHANDLE(hwnd, ACTIVE(pmdi))) {</div>
<div class="line"><a name="l02328"></a><span class="lineno"> 2328</span>&#160;            ThreadLockAlways(pwndParent, &amp;tlpwndParent);</div>
<div class="line"><a name="l02329"></a><span class="lineno"> 2329</span>&#160;            <a class="code" href="a00200.html#a867e9dafadf72e576a9f7d46c5eb1cca">xxxMDIActivate</a>(pwndParent, pwnd);</div>
<div class="line"><a name="l02330"></a><span class="lineno"> 2330</span>&#160;            ThreadUnlock(&amp;tlpwndParent);</div>
<div class="line"><a name="l02331"></a><span class="lineno"> 2331</span>&#160;        }</div>
<div class="line"><a name="l02332"></a><span class="lineno"> 2332</span>&#160;        <span class="keywordflow">goto</span> CallDWP;</div>
<div class="line"><a name="l02333"></a><span class="lineno"> 2333</span>&#160; </div>
<div class="line"><a name="l02334"></a><span class="lineno"> 2334</span>&#160;    <span class="keywordflow">case</span> WM_NEXTMENU:</div>
<div class="line"><a name="l02335"></a><span class="lineno"> 2335</span>&#160; </div>
<div class="line"><a name="l02336"></a><span class="lineno"> 2336</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l02337"></a><span class="lineno"> 2337</span>&#160;<span class="comment">         * wrap to the frame menu bar, either left to the system menu,</span></div>
<div class="line"><a name="l02338"></a><span class="lineno"> 2338</span>&#160;<span class="comment">         * or right to the frame menu bar.</span></div>
<div class="line"><a name="l02339"></a><span class="lineno"> 2339</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l02340"></a><span class="lineno"> 2340</span>&#160;        pmnm = (PMDINEXTMENU)lParam;</div>
<div class="line"><a name="l02341"></a><span class="lineno"> 2341</span>&#160;        pwndT = REBASEPWND(pwndParent, spwndParent);</div>
<div class="line"><a name="l02342"></a><span class="lineno"> 2342</span>&#160;        pmnm-&gt;hwndNext = HW(pwndT);</div>
<div class="line"><a name="l02343"></a><span class="lineno"> 2343</span>&#160;        pmnm-&gt;hmenuNext = (wParam == VK_LEFT) ?</div>
<div class="line"><a name="l02344"></a><span class="lineno"> 2344</span>&#160;                <a class="code" href="a00362.html#ae605196462ba78c3bf2d2bf76a905878">NtUserGetSystemMenu</a>(pmnm-&gt;hwndNext, FALSE) :</div>
<div class="line"><a name="l02345"></a><span class="lineno"> 2345</span>&#160;                <a class="code" href="a03743.html#ac9cce9d0a590697fbfd45e1d983b1454">GetMenu</a>(pmnm-&gt;hwndNext);</div>
<div class="line"><a name="l02346"></a><span class="lineno"> 2346</span>&#160;        <span class="keywordflow">return</span> TRUE;</div>
<div class="line"><a name="l02347"></a><span class="lineno"> 2347</span>&#160;<span class="preprocessor">#if 0</span></div>
<div class="line"><a name="l02348"></a><span class="lineno"> 2348</span>&#160;             hWnd-&gt;hwndParent-&gt;hwndParent</div>
<div class="line"><a name="l02349"></a><span class="lineno"> 2349</span>&#160;        <span class="keywordflow">return</span> (LONG)(((wParam == VK_LEFT) ?</div>
<div class="line"><a name="l02350"></a><span class="lineno"> 2350</span>&#160;                <a class="code" href="a00362.html#ae605196462ba78c3bf2d2bf76a905878">NtUserGetSystemMenu</a>(HW(pwndT), FALSE):</div>
<div class="line"><a name="l02351"></a><span class="lineno"> 2351</span>&#160;                pwndT-&gt;<a class="code" href="a02581.html#ad680eabbc65eb4d160362e2c73a19994">spmenu</a>)</div>
<div class="line"><a name="l02352"></a><span class="lineno"> 2352</span>&#160;          );</div>
<div class="line"><a name="l02353"></a><span class="lineno"> 2353</span>&#160;<span class="comment">// return MAKELONG(NtUserGetSystemMenu(ACTIVE(pwndMDI), FALSE),</span></div>
<div class="line"><a name="l02354"></a><span class="lineno"> 2354</span>&#160;<span class="comment">// ACTIVE(pwndMDI));</span></div>
<div class="line"><a name="l02355"></a><span class="lineno"> 2355</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l02356"></a><span class="lineno"> 2356</span>&#160;    <span class="keywordflow">case</span> WM_CLOSE:</div>
<div class="line"><a name="l02357"></a><span class="lineno"> 2357</span>&#160;        hwndT = <a class="code" href="a03743.html#a9a953530498f0d3bfcf900d38cda8353">GetParent</a>(hwnd);</div>
<div class="line"><a name="l02358"></a><span class="lineno"> 2358</span>&#160;        <span class="keywordflow">if</span> (hwndT != NULL) {</div>
<div class="line"><a name="l02359"></a><span class="lineno"> 2359</span>&#160;            SendMessage(hwndT, WM_MDIDESTROY, (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)hwnd, 0L);</div>
<div class="line"><a name="l02360"></a><span class="lineno"> 2360</span>&#160;        }</div>
<div class="line"><a name="l02361"></a><span class="lineno"> 2361</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02362"></a><span class="lineno"> 2362</span>&#160; </div>
<div class="line"><a name="l02363"></a><span class="lineno"> 2363</span>&#160;    <span class="keywordflow">case</span> WM_MENUCHAR:</div>
<div class="line"><a name="l02364"></a><span class="lineno"> 2364</span>&#160;        <a class="code" href="a00356.html#a3f53b9d5a549a62853c4e3fb22b649d7">PostMessage</a>(<a class="code" href="a03743.html#a9a953530498f0d3bfcf900d38cda8353">GetParent</a>(<a class="code" href="a03743.html#a9a953530498f0d3bfcf900d38cda8353">GetParent</a>(hwnd)), WM_SYSCOMMAND,</div>
<div class="line"><a name="l02365"></a><span class="lineno"> 2365</span>&#160;                (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)SC_KEYMENU, (LONG)LOWORD(wParam));</div>
<div class="line"><a name="l02366"></a><span class="lineno"> 2366</span>&#160;        <span class="keywordflow">return</span> 0x10000;</div>
<div class="line"><a name="l02367"></a><span class="lineno"> 2367</span>&#160; </div>
<div class="line"><a name="l02368"></a><span class="lineno"> 2368</span>&#160;    <span class="keywordflow">case</span> WM_SETTEXT:</div>
<div class="line"><a name="l02369"></a><span class="lineno"> 2369</span>&#160;        <a class="code" href="a00041.html#a56a2a5f665575c0310d1a35792f43b13">DefWindowProcWorker</a>(pwnd, wMsg, wParam, lParam, fAnsi);</div>
<div class="line"><a name="l02370"></a><span class="lineno"> 2370</span>&#160;        <span class="keywordflow">if</span> (WINDOW(pmdi))</div>
<div class="line"><a name="l02371"></a><span class="lineno"> 2371</span>&#160;            <a class="code" href="a00197.html#a953c4e7b37f089bee9b2e339c2df42ef">ModifyMenuItem</a>(pwnd);</div>
<div class="line"><a name="l02372"></a><span class="lineno"> 2372</span>&#160; </div>
<div class="line"><a name="l02373"></a><span class="lineno"> 2373</span>&#160;        <span class="keywordflow">if</span> (TestWF(pwnd, WFMAXIMIZED)) {</div>
<div class="line"><a name="l02374"></a><span class="lineno"> 2374</span>&#160; </div>
<div class="line"><a name="l02375"></a><span class="lineno"> 2375</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l02376"></a><span class="lineno"> 2376</span>&#160;<span class="comment">             * Add the child&#39;s window text to the frame since it is</span></div>
<div class="line"><a name="l02377"></a><span class="lineno"> 2377</span>&#160;<span class="comment">             * maximized.  But just redraw the caption so pass a 3L.</span></div>
<div class="line"><a name="l02378"></a><span class="lineno"> 2378</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l02379"></a><span class="lineno"> 2379</span>&#160;            pwndT = REBASEPWND(pwndParent, spwndParent);</div>
<div class="line"><a name="l02380"></a><span class="lineno"> 2380</span>&#160;            <a class="code" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a>(pwndT, &amp;tlpwndT);</div>
<div class="line"><a name="l02381"></a><span class="lineno"> 2381</span>&#160;            <a class="code" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a>(pwndParent, &amp;tlpwndParent);</div>
<div class="line"><a name="l02382"></a><span class="lineno"> 2382</span>&#160;            <a class="code" href="a00200.html#afc19505c53fa29e5b27e73caf1296446">xxxSetFrameTitle</a>(pwndT, pwndParent, (LPWSTR)3L);</div>
<div class="line"><a name="l02383"></a><span class="lineno"> 2383</span>&#160;            ThreadUnlock(&amp;tlpwndParent);</div>
<div class="line"><a name="l02384"></a><span class="lineno"> 2384</span>&#160;            ThreadUnlock(&amp;tlpwndT);</div>
<div class="line"><a name="l02385"></a><span class="lineno"> 2385</span>&#160;        }</div>
<div class="line"><a name="l02386"></a><span class="lineno"> 2386</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02387"></a><span class="lineno"> 2387</span>&#160; </div>
<div class="line"><a name="l02388"></a><span class="lineno"> 2388</span>&#160;    <span class="keywordflow">case</span> WM_GETMINMAXINFO:</div>
<div class="line"><a name="l02389"></a><span class="lineno"> 2389</span>&#160;        <a class="code" href="a00200.html#a26b35b1b5149f619769c999f93794f3d">ChildMinMaxInfo</a>(pwnd, (PMINMAXINFO)lParam);</div>
<div class="line"><a name="l02390"></a><span class="lineno"> 2390</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02391"></a><span class="lineno"> 2391</span>&#160; </div>
<div class="line"><a name="l02392"></a><span class="lineno"> 2392</span>&#160;    <span class="keywordflow">case</span> WM_SIZE:</div>
<div class="line"><a name="l02393"></a><span class="lineno"> 2393</span>&#160;        <a class="code" href="a00200.html#ac5d5d4faa720d277b543aa6cd72bb1b0">xxxChildResize</a>(pwnd, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)wParam);</div>
<div class="line"><a name="l02394"></a><span class="lineno"> 2394</span>&#160;        <span class="keywordflow">goto</span> CallDWP;</div>
<div class="line"><a name="l02395"></a><span class="lineno"> 2395</span>&#160; </div>
<div class="line"><a name="l02396"></a><span class="lineno"> 2396</span>&#160;    <span class="keywordflow">case</span> WM_MOVE:</div>
<div class="line"><a name="l02397"></a><span class="lineno"> 2397</span>&#160;        <span class="keywordflow">if</span> (!TestWF(pwnd, WFMAXIMIZED))</div>
<div class="line"><a name="l02398"></a><span class="lineno"> 2398</span>&#160;            <a class="code" href="a00200.html#a1a5df2316cee93109da9da469578f07a">RecalculateScrollRanges</a>(pwndParent, FALSE);</div>
<div class="line"><a name="l02399"></a><span class="lineno"> 2399</span>&#160;        <span class="keywordflow">goto</span> CallDWP;</div>
<div class="line"><a name="l02400"></a><span class="lineno"> 2400</span>&#160; </div>
<div class="line"><a name="l02401"></a><span class="lineno"> 2401</span>&#160;    <span class="keywordflow">case</span> WM_CHILDACTIVATE:</div>
<div class="line"><a name="l02402"></a><span class="lineno"> 2402</span>&#160;        <a class="code" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a>(pwndParent, &amp;tlpwndParent);</div>
<div class="line"><a name="l02403"></a><span class="lineno"> 2403</span>&#160;        <a class="code" href="a00200.html#a867e9dafadf72e576a9f7d46c5eb1cca">xxxMDIActivate</a>(pwndParent, pwnd);</div>
<div class="line"><a name="l02404"></a><span class="lineno"> 2404</span>&#160;        ThreadUnlock(&amp;tlpwndParent);</div>
<div class="line"><a name="l02405"></a><span class="lineno"> 2405</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02406"></a><span class="lineno"> 2406</span>&#160; </div>
<div class="line"><a name="l02407"></a><span class="lineno"> 2407</span>&#160;    <span class="keywordflow">case</span> WM_SYSCOMMAND:</div>
<div class="line"><a name="l02408"></a><span class="lineno"> 2408</span>&#160;        <span class="keywordflow">switch</span> (wParam &amp; 0xFFF0) {</div>
<div class="line"><a name="l02409"></a><span class="lineno"> 2409</span>&#160;        <span class="keywordflow">case</span> SC_NEXTWINDOW:</div>
<div class="line"><a name="l02410"></a><span class="lineno"> 2410</span>&#160;        <span class="keywordflow">case</span> SC_PREVWINDOW:</div>
<div class="line"><a name="l02411"></a><span class="lineno"> 2411</span>&#160;            hwndT = <a class="code" href="a03743.html#a9a953530498f0d3bfcf900d38cda8353">GetParent</a>(hwnd);</div>
<div class="line"><a name="l02412"></a><span class="lineno"> 2412</span>&#160;            SendMessage(hwndT, WM_MDINEXT, (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)hwnd,</div>
<div class="line"><a name="l02413"></a><span class="lineno"> 2413</span>&#160;                    (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)((wParam &amp; 0xFFF0) == SC_PREVWINDOW));</div>
<div class="line"><a name="l02414"></a><span class="lineno"> 2414</span>&#160;            <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02415"></a><span class="lineno"> 2415</span>&#160; </div>
<div class="line"><a name="l02416"></a><span class="lineno"> 2416</span>&#160;        <span class="keywordflow">case</span> SC_SIZE:</div>
<div class="line"><a name="l02417"></a><span class="lineno"> 2417</span>&#160;        <span class="keywordflow">case</span> SC_MOVE:</div>
<div class="line"><a name="l02418"></a><span class="lineno"> 2418</span>&#160;            <span class="keywordflow">if</span> (SAMEWOWHANDLE(hwnd, MAXED(pmdi))) {</div>
<div class="line"><a name="l02419"></a><span class="lineno"> 2419</span>&#160; </div>
<div class="line"><a name="l02420"></a><span class="lineno"> 2420</span>&#160;                <span class="comment">/*</span></div>
<div class="line"><a name="l02421"></a><span class="lineno"> 2421</span>&#160;<span class="comment">                 * If a maxed child gets a size or move message, blow it</span></div>
<div class="line"><a name="l02422"></a><span class="lineno"> 2422</span>&#160;<span class="comment">                 * off.</span></div>
<div class="line"><a name="l02423"></a><span class="lineno"> 2423</span>&#160;<span class="comment">                 */</span></div>
<div class="line"><a name="l02424"></a><span class="lineno"> 2424</span>&#160;                <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02425"></a><span class="lineno"> 2425</span>&#160;            } <span class="keywordflow">else</span></div>
<div class="line"><a name="l02426"></a><span class="lineno"> 2426</span>&#160;                <span class="keywordflow">goto</span> CallDWP;</div>
<div class="line"><a name="l02427"></a><span class="lineno"> 2427</span>&#160; </div>
<div class="line"><a name="l02428"></a><span class="lineno"> 2428</span>&#160;        <span class="keywordflow">case</span> SC_MAXIMIZE:</div>
<div class="line"><a name="l02429"></a><span class="lineno"> 2429</span>&#160;            <span class="keywordflow">if</span> (SAMEWOWHANDLE(hwnd, MAXED(pmdi))) {</div>
<div class="line"><a name="l02430"></a><span class="lineno"> 2430</span>&#160; </div>
<div class="line"><a name="l02431"></a><span class="lineno"> 2431</span>&#160;                <span class="comment">/*</span></div>
<div class="line"><a name="l02432"></a><span class="lineno"> 2432</span>&#160;<span class="comment">                 * If a maxed child gets a maximize message, forward it</span></div>
<div class="line"><a name="l02433"></a><span class="lineno"> 2433</span>&#160;<span class="comment">                 * to the frame.  Useful if the maximized child has a</span></div>
<div class="line"><a name="l02434"></a><span class="lineno"> 2434</span>&#160;<span class="comment">                 * size box so that clicking on it then maximizes the</span></div>
<div class="line"><a name="l02435"></a><span class="lineno"> 2435</span>&#160;<span class="comment">                 * parent.</span></div>
<div class="line"><a name="l02436"></a><span class="lineno"> 2436</span>&#160;<span class="comment">                 */</span></div>
<div class="line"><a name="l02437"></a><span class="lineno"> 2437</span>&#160;                pwndT = REBASEPWND(pwndParent, spwndParent);</div>
<div class="line"><a name="l02438"></a><span class="lineno"> 2438</span>&#160;                <a class="code" href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a>(pwndT, &amp;tlpwndT);</div>
<div class="line"><a name="l02439"></a><span class="lineno"> 2439</span>&#160;                dw = SendMessage(HW(pwndT),</div>
<div class="line"><a name="l02440"></a><span class="lineno"> 2440</span>&#160;                        WM_SYSCOMMAND, SC_MAXIMIZE, lParam);</div>
<div class="line"><a name="l02441"></a><span class="lineno"> 2441</span>&#160;                ThreadUnlock(&amp;tlpwndT);</div>
<div class="line"><a name="l02442"></a><span class="lineno"> 2442</span>&#160;                <span class="keywordflow">return</span> dw;</div>
<div class="line"><a name="l02443"></a><span class="lineno"> 2443</span>&#160;            }</div>
<div class="line"><a name="l02444"></a><span class="lineno"> 2444</span>&#160; </div>
<div class="line"><a name="l02445"></a><span class="lineno"> 2445</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l02446"></a><span class="lineno"> 2446</span>&#160;<span class="comment">             * else fall through</span></div>
<div class="line"><a name="l02447"></a><span class="lineno"> 2447</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l02448"></a><span class="lineno"> 2448</span>&#160; </div>
<div class="line"><a name="l02449"></a><span class="lineno"> 2449</span>&#160;        <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l02450"></a><span class="lineno"> 2450</span>&#160;            <span class="keywordflow">goto</span> CallDWP;</div>
<div class="line"><a name="l02451"></a><span class="lineno"> 2451</span>&#160;        }</div>
<div class="line"><a name="l02452"></a><span class="lineno"> 2452</span>&#160;        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l02453"></a><span class="lineno"> 2453</span>&#160; </div>
<div class="line"><a name="l02454"></a><span class="lineno"> 2454</span>&#160;    <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l02455"></a><span class="lineno"> 2455</span>&#160;CallDWP:</div>
<div class="line"><a name="l02456"></a><span class="lineno"> 2456</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="a00041.html#a56a2a5f665575c0310d1a35792f43b13">DefWindowProcWorker</a>(pwnd, wMsg, wParam, lParam, fAnsi);</div>
<div class="line"><a name="l02457"></a><span class="lineno"> 2457</span>&#160;    }</div>
<div class="line"><a name="l02458"></a><span class="lineno"> 2458</span>&#160; </div>
<div class="line"><a name="l02459"></a><span class="lineno"> 2459</span>&#160;    <span class="keywordflow">return</span> 0L;</div>
<div class="line"><a name="l02460"></a><span class="lineno"> 2460</span>&#160;}</div>
<div class="line"><a name="l02461"></a><span class="lineno"> 2461</span>&#160; </div>
<div class="line"><a name="l02462"></a><span class="lineno"> 2462</span>&#160; </div>
<div class="line"><a name="l02463"></a><span class="lineno"> 2463</span>&#160; </div>
<div class="line"><a name="l02471"></a><span class="lineno"><a class="line" href="a00200.html#a42ec51a2e35f70a0b89521d72d5df9ef"> 2471</a></span>&#160;LONG WINAPI <a class="code" href="a00200.html#a42ec51a2e35f70a0b89521d72d5df9ef">DefMDIChildProcW</a>(</div>
<div class="line"><a name="l02472"></a><span class="lineno"> 2472</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l02473"></a><span class="lineno"> 2473</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> message,</div>
<div class="line"><a name="l02474"></a><span class="lineno"> 2474</span>&#160;    WPARAM wParam,</div>
<div class="line"><a name="l02475"></a><span class="lineno"> 2475</span>&#160;    LPARAM lParam)</div>
<div class="line"><a name="l02476"></a><span class="lineno"> 2476</span>&#160;{</div>
<div class="line"><a name="l02477"></a><span class="lineno"> 2477</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="a00200.html#aa3c06b5c04c6b3cda370a97b37e2d3c8">DefMDIChildProcWorker</a>(hwnd, message, wParam, lParam, FALSE);</div>
<div class="line"><a name="l02478"></a><span class="lineno"> 2478</span>&#160;}</div>
<div class="line"><a name="l02479"></a><span class="lineno"> 2479</span>&#160; </div>
<div class="line"><a name="l02480"></a><span class="lineno"><a class="line" href="a00200.html#aefb3c2372cebbaab63754a59c70d5866"> 2480</a></span>&#160;LONG WINAPI <a class="code" href="a00200.html#aefb3c2372cebbaab63754a59c70d5866">DefMDIChildProcA</a>(</div>
<div class="line"><a name="l02481"></a><span class="lineno"> 2481</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l02482"></a><span class="lineno"> 2482</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> message,</div>
<div class="line"><a name="l02483"></a><span class="lineno"> 2483</span>&#160;    WPARAM wParam,</div>
<div class="line"><a name="l02484"></a><span class="lineno"> 2484</span>&#160;    LPARAM lParam)</div>
<div class="line"><a name="l02485"></a><span class="lineno"> 2485</span>&#160;{</div>
<div class="line"><a name="l02486"></a><span class="lineno"> 2486</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="a00200.html#aa3c06b5c04c6b3cda370a97b37e2d3c8">DefMDIChildProcWorker</a>(hwnd, message, wParam, lParam, TRUE);</div>
<div class="line"><a name="l02487"></a><span class="lineno"> 2487</span>&#160;}</div>
<div class="line"><a name="l02488"></a><span class="lineno"> 2488</span>&#160; </div>
<div class="line"><a name="l02489"></a><span class="lineno"><a class="line" href="a00257.html#aeb80a263a1795a525abe1f4b2df48941"> 2489</a></span>&#160;BOOL <a class="code" href="a00200.html#aeb80a263a1795a525abe1f4b2df48941">MDICompleteChildCreation</a>(HWND hwndChild, HMENU hSysMenu, BOOL fVisible, BOOL fDisabled) {</div>
<div class="line"><a name="l02490"></a><span class="lineno"> 2490</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwndChild;</div>
<div class="line"><a name="l02491"></a><span class="lineno"> 2491</span>&#160;    <a class="code" href="a02581.html">PWND</a>  pwndClient;</div>
<div class="line"><a name="l02492"></a><span class="lineno"> 2492</span>&#160;    HWND  hwndClient;</div>
<div class="line"><a name="l02493"></a><span class="lineno"> 2493</span>&#160;    BOOL  fHasOwnSysMenu;</div>
<div class="line"><a name="l02494"></a><span class="lineno"> 2494</span>&#160;    <a class="code" href="a01961.html">PMDI</a> pmdi;</div>
<div class="line"><a name="l02495"></a><span class="lineno"> 2495</span>&#160; </div>
<div class="line"><a name="l02496"></a><span class="lineno"> 2496</span>&#160;    pwndChild = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndChild);</div>
<div class="line"><a name="l02497"></a><span class="lineno"> 2497</span>&#160;    pwndClient = REBASEPWND(pwndChild,spwndParent);</div>
<div class="line"><a name="l02498"></a><span class="lineno"> 2498</span>&#160;    hwndClient = HWq(pwndClient);</div>
<div class="line"><a name="l02499"></a><span class="lineno"> 2499</span>&#160; </div>
<div class="line"><a name="l02500"></a><span class="lineno"> 2500</span>&#160;    fHasOwnSysMenu = (pwndChild-&gt;<a class="code" href="a02581.html#aa9cb183920d0decbae34685c0451ff0f">spmenuSys</a>) ? TRUE : FALSE;</div>
<div class="line"><a name="l02501"></a><span class="lineno"> 2501</span>&#160; </div>
<div class="line"><a name="l02502"></a><span class="lineno"> 2502</span>&#160;    pmdi = ((<a class="code" href="a00257.html#a8fbbab4c887a01986a0cf83e1fba2554">PMDIWND</a>)(pwndClient))-&gt;pmdi;</div>
<div class="line"><a name="l02503"></a><span class="lineno"> 2503</span>&#160; </div>
<div class="line"><a name="l02504"></a><span class="lineno"> 2504</span>&#160;    CKIDS(pmdi)++;</div>
<div class="line"><a name="l02505"></a><span class="lineno"> 2505</span>&#160;    ITILELEVEL(pmdi)++;</div>
<div class="line"><a name="l02506"></a><span class="lineno"> 2506</span>&#160;    <span class="keywordflow">if</span> (ITILELEVEL(pmdi) &gt; 0x7ffe)</div>
<div class="line"><a name="l02507"></a><span class="lineno"> 2507</span>&#160;        ITILELEVEL(pmdi) = 0;</div>
<div class="line"><a name="l02508"></a><span class="lineno"> 2508</span>&#160; </div>
<div class="line"><a name="l02509"></a><span class="lineno"> 2509</span>&#160;    <span class="comment">// Update &quot;Window&quot; menu if this new window should be on it</span></div>
<div class="line"><a name="l02510"></a><span class="lineno"> 2510</span>&#160;    <span class="keywordflow">if</span> (fVisible &amp;&amp; !fDisabled &amp;&amp; (CKIDS(pmdi) &lt;= MAXITEMS))</div>
<div class="line"><a name="l02511"></a><span class="lineno"> 2511</span>&#160;        SendMessage(hwndClient, WM_MDIREFRESHMENU, 0, 0L);</div>
<div class="line"><a name="l02512"></a><span class="lineno"> 2512</span>&#160; </div>
<div class="line"><a name="l02513"></a><span class="lineno"> 2513</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l02514"></a><span class="lineno"> 2514</span>&#160;    <span class="comment">// Add the MDI System Menu.  Catch the case of not being able to add a</span></div>
<div class="line"><a name="l02515"></a><span class="lineno"> 2515</span>&#160;    <span class="comment">// system menu (EG, guy doesn&#39;t have WS_SYSMENU style), and delete the</span></div>
<div class="line"><a name="l02516"></a><span class="lineno"> 2516</span>&#160;    <span class="comment">// menu to avoid buildup in USER&#39;s heap.</span></div>
<div class="line"><a name="l02517"></a><span class="lineno"> 2517</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l02518"></a><span class="lineno"> 2518</span>&#160;    <span class="keywordflow">if</span> (hSysMenu &amp;&amp; (fHasOwnSysMenu || !<a class="code" href="a00362.html#ad284e50f61194ccea3d866168490596a">NtUserSetSystemMenu</a>(hwndChild, hSysMenu)))</div>
<div class="line"><a name="l02519"></a><span class="lineno"> 2519</span>&#160;        <a class="code" href="a00362.html#a0e2153d7fe134894a5effa0d93eba4fe">NtUserDestroyMenu</a>(hSysMenu);</div>
<div class="line"><a name="l02520"></a><span class="lineno"> 2520</span>&#160; </div>
<div class="line"><a name="l02521"></a><span class="lineno"> 2521</span>&#160;    <span class="keywordflow">if</span> (fVisible)</div>
<div class="line"><a name="l02522"></a><span class="lineno"> 2522</span>&#160;    {</div>
<div class="line"><a name="l02523"></a><span class="lineno"> 2523</span>&#160;        <span class="keywordflow">if</span> (!TestWF(pwndChild, WFMINIMIZED) || !ACTIVE(pmdi))</div>
<div class="line"><a name="l02524"></a><span class="lineno"> 2524</span>&#160;        {</div>
<div class="line"><a name="l02525"></a><span class="lineno"> 2525</span>&#160;            <a class="code" href="a00362.html#a97ea52174705d791899a9df860aab676">NtUserSetWindowPos</a>(hwndChild, HWND_TOP, 0, 0, 0, 0,</div>
<div class="line"><a name="l02526"></a><span class="lineno"> 2526</span>&#160;                    SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);</div>
<div class="line"><a name="l02527"></a><span class="lineno"> 2527</span>&#160; </div>
<div class="line"><a name="l02528"></a><span class="lineno"> 2528</span>&#160;            <span class="keywordflow">if</span> (TestWF(pwndChild, WFMAXIMIZED) &amp;&amp; !fHasOwnSysMenu)</div>
<div class="line"><a name="l02529"></a><span class="lineno"> 2529</span>&#160;            {</div>
<div class="line"><a name="l02530"></a><span class="lineno"> 2530</span>&#160;                <a class="code" href="a02581.html">PWND</a> pwndParent = REBASEPWND(pwndClient, spwndParent);</div>
<div class="line"><a name="l02531"></a><span class="lineno"> 2531</span>&#160;                <a class="code" href="a02625.html">PMENU</a> pmenu = REBASE(pwndParent, spmenu);</div>
<div class="line"><a name="l02532"></a><span class="lineno"> 2532</span>&#160;                <a class="code" href="a00197.html#a4d32131a965be194567156981da95b09">MDIAddSysMenu</a>(PtoH(pmenu), hwndChild);</div>
<div class="line"><a name="l02533"></a><span class="lineno"> 2533</span>&#160;                NtUserRedrawFrame(HW(pwndParent));</div>
<div class="line"><a name="l02534"></a><span class="lineno"> 2534</span>&#160;            }</div>
<div class="line"><a name="l02535"></a><span class="lineno"> 2535</span>&#160;        }</div>
<div class="line"><a name="l02536"></a><span class="lineno"> 2536</span>&#160;        <span class="keywordflow">else</span></div>
<div class="line"><a name="l02537"></a><span class="lineno"> 2537</span>&#160;        {</div>
<div class="line"><a name="l02538"></a><span class="lineno"> 2538</span>&#160;            <a class="code" href="a00362.html#af2e007664f2c2b68908d086861b77ddb">NtUserShowWindow</a>(hwndChild, SW_SHOWMINNOACTIVE);</div>
<div class="line"><a name="l02539"></a><span class="lineno"> 2539</span>&#160;        }</div>
<div class="line"><a name="l02540"></a><span class="lineno"> 2540</span>&#160;    }</div>
<div class="line"><a name="l02541"></a><span class="lineno"> 2541</span>&#160; </div>
<div class="line"><a name="l02542"></a><span class="lineno"> 2542</span>&#160; </div>
<div class="line"><a name="l02543"></a><span class="lineno"> 2543</span>&#160;    <span class="keywordflow">return</span> TRUE;</div>
<div class="line"><a name="l02544"></a><span class="lineno"> 2544</span>&#160;}</div>
<div class="line"><a name="l02545"></a><span class="lineno"> 2545</span>&#160; </div>
<div class="line"><a name="l02546"></a><span class="lineno"> 2546</span>&#160; </div>
<div class="line"><a name="l02547"></a><span class="lineno"><a class="line" href="a00257.html#a8f18a7420673f2497d0f088687dcdbf1"> 2547</a></span>&#160;BOOL <a class="code" href="a00200.html#a0a5a542c4a21277b928ba4d9882958cb">CreateMDIChild</a>(<a class="code" href="a01969.html">PSHORTCREATE</a> psc, LPMDICREATESTRUCT pmcs, <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwExpWinVerAndFlags, HMENU *phSysMenu, <a class="code" href="a02581.html">PWND</a> pwndParent) {</div>
<div class="line"><a name="l02548"></a><span class="lineno"> 2548</span>&#160;    BOOL fVisible;</div>
<div class="line"><a name="l02549"></a><span class="lineno"> 2549</span>&#160;    RECT rcT;</div>
<div class="line"><a name="l02550"></a><span class="lineno"> 2550</span>&#160;    HMENU hSysMenu = NULL;</div>
<div class="line"><a name="l02551"></a><span class="lineno"> 2551</span>&#160;    HWND hwndPrevMaxed;</div>
<div class="line"><a name="l02552"></a><span class="lineno"> 2552</span>&#160;    <a class="code" href="a01961.html">PMDI</a> pmdi;</div>
<div class="line"><a name="l02553"></a><span class="lineno"> 2553</span>&#160; </div>
<div class="line"><a name="l02554"></a><span class="lineno"> 2554</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l02555"></a><span class="lineno"> 2555</span>&#160;<span class="comment">     * Get a pointer to the MDI structure</span></div>
<div class="line"><a name="l02556"></a><span class="lineno"> 2556</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l02557"></a><span class="lineno"> 2557</span>&#160;    pmdi = ((<a class="code" href="a00257.html#a8fbbab4c887a01986a0cf83e1fba2554">PMDIWND</a>)(pwndParent))-&gt;pmdi;</div>
<div class="line"><a name="l02558"></a><span class="lineno"> 2558</span>&#160; </div>
<div class="line"><a name="l02559"></a><span class="lineno"> 2559</span>&#160;    pmcs-&gt;style = psc-&gt;<a class="code" href="a01969.html#aa68195bea010296f58019dd25038d440">style</a>;</div>
<div class="line"><a name="l02560"></a><span class="lineno"> 2560</span>&#160; </div>
<div class="line"><a name="l02561"></a><span class="lineno"> 2561</span>&#160;    <span class="comment">// Mask off ignored style bits and add required ones.</span></div>
<div class="line"><a name="l02562"></a><span class="lineno"> 2562</span>&#160;    psc-&gt;<a class="code" href="a01969.html#aa68195bea010296f58019dd25038d440">style</a> |= (WS_CHILD | WS_CLIPSIBLINGS);</div>
<div class="line"><a name="l02563"></a><span class="lineno"> 2563</span>&#160;    <span class="keywordflow">if</span> (!(pwndParent-&gt;style &amp; MDIS_ALLCHILDSTYLES))</div>
<div class="line"><a name="l02564"></a><span class="lineno"> 2564</span>&#160;    {</div>
<div class="line"><a name="l02565"></a><span class="lineno"> 2565</span>&#160;        psc-&gt;<a class="code" href="a01969.html#aa68195bea010296f58019dd25038d440">style</a> &amp;= WS_MDIALLOWED;</div>
<div class="line"><a name="l02566"></a><span class="lineno"> 2566</span>&#160;        psc-&gt;<a class="code" href="a01969.html#aa68195bea010296f58019dd25038d440">style</a> |= (WS_MDISTYLE | WS_VISIBLE);</div>
<div class="line"><a name="l02567"></a><span class="lineno"> 2567</span>&#160;    }</div>
<div class="line"><a name="l02568"></a><span class="lineno"> 2568</span>&#160;    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (psc-&gt;<a class="code" href="a01969.html#aa68195bea010296f58019dd25038d440">style</a> &amp; WS_POPUP)</div>
<div class="line"><a name="l02569"></a><span class="lineno"> 2569</span>&#160;    {</div>
<div class="line"><a name="l02570"></a><span class="lineno"> 2570</span>&#160;        <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#afa5f32de88404289ec03cd2c0e61e94f">RIP_ERROR</a>, <span class="stringliteral">&quot;CreateWindowEx: WS_POPUP not allowed on MDI children&quot;</span>);</div>
<div class="line"><a name="l02571"></a><span class="lineno"> 2571</span>&#160;        <span class="keywordflow">if</span> (LOWORD(dwExpWinVerAndFlags) &gt;= VER40)</div>
<div class="line"><a name="l02572"></a><span class="lineno"> 2572</span>&#160;            <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l02573"></a><span class="lineno"> 2573</span>&#160;    }</div>
<div class="line"><a name="l02574"></a><span class="lineno"> 2574</span>&#160; </div>
<div class="line"><a name="l02575"></a><span class="lineno"> 2575</span>&#160;    fVisible = ((psc-&gt;<a class="code" href="a01969.html#aa68195bea010296f58019dd25038d440">style</a> &amp; WS_VISIBLE) != 0L);</div>
<div class="line"><a name="l02576"></a><span class="lineno"> 2576</span>&#160; </div>
<div class="line"><a name="l02577"></a><span class="lineno"> 2577</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l02578"></a><span class="lineno"> 2578</span>&#160;    <span class="comment">// Save ORIGINAL parameters in MDICREATESTRUCT.  This is for</span></div>
<div class="line"><a name="l02579"></a><span class="lineno"> 2579</span>&#160;    <span class="comment">// compatibility with old WM_MDICREATE.</span></div>
<div class="line"><a name="l02580"></a><span class="lineno"> 2580</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l02581"></a><span class="lineno"> 2581</span>&#160;    pmcs-&gt;x   = rcT.left   = psc-&gt;<a class="code" href="a01969.html#a6150e0515f7202e2fb518f7206ed97dc">x</a>;</div>
<div class="line"><a name="l02582"></a><span class="lineno"> 2582</span>&#160;    pmcs-&gt;y   = rcT.top    = psc-&gt;<a class="code" href="a01969.html#a0a2f84ed7838f07779ae24c5a9086d33">y</a>;</div>
<div class="line"><a name="l02583"></a><span class="lineno"> 2583</span>&#160;    pmcs-&gt;cx  = rcT.right  = psc-&gt;<a class="code" href="a01969.html#af905a9989361d094908ad04e08f6429d">cx</a>;</div>
<div class="line"><a name="l02584"></a><span class="lineno"> 2584</span>&#160;    pmcs-&gt;cy  = rcT.bottom = psc-&gt;<a class="code" href="a01969.html#ad36501a70b25e18bcf48dd6e03392305">cy</a>;</div>
<div class="line"><a name="l02585"></a><span class="lineno"> 2585</span>&#160; </div>
<div class="line"><a name="l02586"></a><span class="lineno"> 2586</span>&#160;    <a class="code" href="a00200.html#a1db637f8c3fdec4178771555cae9e11e">MDICheckCascadeRect</a>(pwndParent, &amp;rcT);</div>
<div class="line"><a name="l02587"></a><span class="lineno"> 2587</span>&#160; </div>
<div class="line"><a name="l02588"></a><span class="lineno"> 2588</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l02589"></a><span class="lineno"> 2589</span>&#160;    <span class="comment">// Setup creation coords</span></div>
<div class="line"><a name="l02590"></a><span class="lineno"> 2590</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l02591"></a><span class="lineno"> 2591</span>&#160;    psc-&gt;<a class="code" href="a01969.html#a6150e0515f7202e2fb518f7206ed97dc">x</a>       = rcT.left;</div>
<div class="line"><a name="l02592"></a><span class="lineno"> 2592</span>&#160;    psc-&gt;<a class="code" href="a01969.html#a0a2f84ed7838f07779ae24c5a9086d33">y</a>       = rcT.top;</div>
<div class="line"><a name="l02593"></a><span class="lineno"> 2593</span>&#160;    psc-&gt;<a class="code" href="a01969.html#af905a9989361d094908ad04e08f6429d">cx</a>      = rcT.right;</div>
<div class="line"><a name="l02594"></a><span class="lineno"> 2594</span>&#160;    psc-&gt;<a class="code" href="a01969.html#ad36501a70b25e18bcf48dd6e03392305">cy</a>      = rcT.bottom;</div>
<div class="line"><a name="l02595"></a><span class="lineno"> 2595</span>&#160; </div>
<div class="line"><a name="l02596"></a><span class="lineno"> 2596</span>&#160;    <span class="comment">// Load the system menu</span></div>
<div class="line"><a name="l02597"></a><span class="lineno"> 2597</span>&#160;    <span class="keywordflow">if</span> ((psc-&gt;<a class="code" href="a01969.html#aa68195bea010296f58019dd25038d440">style</a> &amp; WS_SYSMENU) &amp;&amp;</div>
<div class="line"><a name="l02598"></a><span class="lineno"> 2598</span>&#160;        !(hSysMenu = LoadMenu(<a class="code" href="a00020.html#a821be27172eef7b5f9dc20f1b2ea5975">hmodUser</a>, MAKEINTRESOURCE(CHILDSYSMENU))))</div>
<div class="line"><a name="l02599"></a><span class="lineno"> 2599</span>&#160;        <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l02600"></a><span class="lineno"> 2600</span>&#160; </div>
<div class="line"><a name="l02601"></a><span class="lineno"> 2601</span>&#160;    <span class="comment">// The window got created ok: now restore the current maximized window</span></div>
<div class="line"><a name="l02602"></a><span class="lineno"> 2602</span>&#160;    <span class="comment">// so we can maximize ourself in its place.   </span></div>
<div class="line"><a name="l02603"></a><span class="lineno"> 2603</span>&#160;    hwndPrevMaxed = MAXED(pmdi);</div>
<div class="line"><a name="l02604"></a><span class="lineno"> 2604</span>&#160;    <span class="keywordflow">if</span> (fVisible &amp;&amp; <a class="code" href="a03743.html#ac5ede70e870dc1cf540d7524887e4edc">IsWindow</a>(hwndPrevMaxed))</div>
<div class="line"><a name="l02605"></a><span class="lineno"> 2605</span>&#160;    {</div>
<div class="line"><a name="l02606"></a><span class="lineno"> 2606</span>&#160;        <span class="keywordflow">if</span> (psc-&gt;<a class="code" href="a01969.html#aa68195bea010296f58019dd25038d440">style</a> &amp; WS_MAXIMIZE)</div>
<div class="line"><a name="l02607"></a><span class="lineno"> 2607</span>&#160;            SendMessage(hwndPrevMaxed, WM_SETREDRAW, (WPARAM)FALSE, 0L);</div>
<div class="line"><a name="l02608"></a><span class="lineno"> 2608</span>&#160; </div>
<div class="line"><a name="l02609"></a><span class="lineno"> 2609</span>&#160;        <span class="comment">// we could nuke the hwndPrevMaxed during the SendMessage32</span></div>
<div class="line"><a name="l02610"></a><span class="lineno"> 2610</span>&#160;        <span class="comment">// so recheck just in case, B#11122, [t-arthb]</span></div>
<div class="line"><a name="l02611"></a><span class="lineno"> 2611</span>&#160; </div>
<div class="line"><a name="l02612"></a><span class="lineno"> 2612</span>&#160;        <span class="keywordflow">if</span> ( <a class="code" href="a03743.html#ac5ede70e870dc1cf540d7524887e4edc">IsWindow</a>(hwndPrevMaxed) )</div>
<div class="line"><a name="l02613"></a><span class="lineno"> 2613</span>&#160;        {</div>
<div class="line"><a name="l02614"></a><span class="lineno"> 2614</span>&#160;            <a class="code" href="a00362.html#ad82394755c01195d797f677ced46660a">NtUserMinMaximize</a>(hwndPrevMaxed, SW_SHOWNORMAL, TRUE);</div>
<div class="line"><a name="l02615"></a><span class="lineno"> 2615</span>&#160; </div>
<div class="line"><a name="l02616"></a><span class="lineno"> 2616</span>&#160;            <span class="keywordflow">if</span> ( psc-&gt;<a class="code" href="a01969.html#aa68195bea010296f58019dd25038d440">style</a> &amp; WS_MAXIMIZE )</div>
<div class="line"><a name="l02617"></a><span class="lineno"> 2617</span>&#160;               SendMessage(hwndPrevMaxed, WM_SETREDRAW, (WPARAM)TRUE, 0L);</div>
<div class="line"><a name="l02618"></a><span class="lineno"> 2618</span>&#160;        }</div>
<div class="line"><a name="l02619"></a><span class="lineno"> 2619</span>&#160; </div>
<div class="line"><a name="l02620"></a><span class="lineno"> 2620</span>&#160;    }</div>
<div class="line"><a name="l02621"></a><span class="lineno"> 2621</span>&#160; </div>
<div class="line"><a name="l02622"></a><span class="lineno"> 2622</span>&#160;    <span class="comment">// Set the proper Child Window ID for this MDI child.</span></div>
<div class="line"><a name="l02623"></a><span class="lineno"> 2623</span>&#160;    psc-&gt;<a class="code" href="a01969.html#a309bf8d531939eba86ac4913eb0863d5">hMenu</a> = (HMENU)(FIRST(pmdi) + CKIDS(pmdi));</div>
<div class="line"><a name="l02624"></a><span class="lineno"> 2624</span>&#160; </div>
<div class="line"><a name="l02625"></a><span class="lineno"> 2625</span>&#160;    *phSysMenu = hSysMenu;</div>
<div class="line"><a name="l02626"></a><span class="lineno"> 2626</span>&#160; </div>
<div class="line"><a name="l02627"></a><span class="lineno"> 2627</span>&#160;    <span class="keywordflow">return</span> TRUE;</div>
<div class="line"><a name="l02628"></a><span class="lineno"> 2628</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aa00200_html_a0a5a542c4a21277b928ba4d9882958cb"><div class="ttname"><a href="a00200.html#a0a5a542c4a21277b928ba4d9882958cb">CreateMDIChild</a></div><div class="ttdeci">BOOL CreateMDIChild(PSHORTCREATE psc, LPMDICREATESTRUCT pmcs, DWORD dwExpWinVerAndFlags, HMENU *phSysMenu, PWND pwndParent)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l02547">mdiwin.c:2547</a></div></div>
<div class="ttc" id="aa00200_html_a3bec45c5537ca74d7f74881ae16e2bb6"><div class="ttname"><a href="a00200.html#a3bec45c5537ca74d7f74881ae16e2bb6">TITLE_EXTRA</a></div><div class="ttdeci">#define TITLE_EXTRA</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00015">mdiwin.c:15</a></div></div>
<div class="ttc" id="aa00197_html_ab4ffd37b8e75f99158010b432fe9ca58"><div class="ttname"><a href="a00197.html#ab4ffd37b8e75f99158010b432fe9ca58">MDIActivateDlgProcW</a></div><div class="ttdeci">LONG WINAPI MDIActivateDlgProcW(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00197_source.html#l00787">mdimenu.c:787</a></div></div>
<div class="ttc" id="aa00200_html_a26b35b1b5149f619769c999f93794f3d"><div class="ttname"><a href="a00200.html#a26b35b1b5149f619769c999f93794f3d">ChildMinMaxInfo</a></div><div class="ttdeci">void ChildMinMaxInfo(PWND pwnd, PMINMAXINFO pmmi)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l02149">mdiwin.c:2149</a></div></div>
<div class="ttc" id="aa00200_html_afc19505c53fa29e5b27e73caf1296446"><div class="ttname"><a href="a00200.html#afc19505c53fa29e5b27e73caf1296446">xxxSetFrameTitle</a></div><div class="ttdeci">void xxxSetFrameTitle(PWND pwndFrame, PWND pwndMDI, LPWSTR lpch)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00061">mdiwin.c:61</a></div></div>
<div class="ttc" id="aa00200_html_a24e3dd1d492a1962b4e248716efb8eb8"><div class="ttname"><a href="a00200.html#a24e3dd1d492a1962b4e248716efb8eb8">xxxMDINext</a></div><div class="ttdeci">void xxxMDINext(PWND pwndMDI, PWND pwnd, BOOL fPrevWindow)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l01243">mdiwin.c:1243</a></div></div>
<div class="ttc" id="aa00371_html_a01c4659626880ba56745765a3580a36b"><div class="ttname"><a href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a></div><div class="ttdeci">#define RIPMSG0(flags, szFmt)</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00131">winerrp.h:131</a></div></div>
<div class="ttc" id="aa00200_html_afeb5360294e64e61c41bc844aa47f80f"><div class="ttname"><a href="a00200.html#afeb5360294e64e61c41bc844aa47f80f">CreateMDIWindowW</a></div><div class="ttdeci">HWND CreateMDIWindowW(LPWSTR pClassName, LPWSTR pWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hwndParent, HINSTANCE hModule, LPARAM lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l01337">mdiwin.c:1337</a></div></div>
<div class="ttc" id="aa00200_html_a79965914a2e9e651b434416be79d1457"><div class="ttname"><a href="a00200.html#a79965914a2e9e651b434416be79d1457">MDIClientWndProcWorker</a></div><div class="ttdeci">LONG MDIClientWndProcWorker(PWND pwnd, UINT message, WPARAM wParam, LPARAM lParam, DWORD fAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l01481">mdiwin.c:1481</a></div></div>
<div class="ttc" id="aa00026_html_ab4added876586c5164dae9aaba3e7691"><div class="ttname"><a href="a00026.html#ab4added876586c5164dae9aaba3e7691">SetWindowState</a></div><div class="ttdeci">void SetWindowState(PWND pwnd, UINT flags)</div><div class="ttdef"><b>Definition:</b> <a href="a00026_source.html#l02826">client.c:2826</a></div></div>
<div class="ttc" id="aa00200_html_a6831b0f27075c6d3e455f2959f7afe25"><div class="ttname"><a href="a00200.html#a6831b0f27075c6d3e455f2959f7afe25">xxxMDIDestroy</a></div><div class="ttdeci">void xxxMDIDestroy(PWND pwnd, HWND hwndVictim)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l01363">mdiwin.c:1363</a></div></div>
<div class="ttc" id="aa03659_html_acba242818ccab104e8e1cd389ea86a6f"><div class="ttname"><a href="a03659.html#acba242818ccab104e8e1cd389ea86a6f">SetScrollPos</a></div><div class="ttdeci">int SetScrollPos(HWND hwnd, int code, int pos, BOOL fRedraw)</div><div class="ttdef"><b>Definition:</b> <a href="a03659_source.html#l00021">client/sbapi.c:21</a></div></div>
<div class="ttc" id="aa01961_html_a25743a901d3b50d61c9482e2557b045e"><div class="ttname"><a href="a01961.html#a25743a901d3b50d61c9482e2557b045e">tagMDI::wScroll</a></div><div class="ttdeci">UINT wScroll</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02239">usercli.h:2239</a></div></div>
<div class="ttc" id="aa02581_html_a9e4b9545017c505ebd9b8808bd470ab9"><div class="ttname"><a href="a02581.html#a9e4b9545017c505ebd9b8808bd470ab9">tagWND::spwndOwner</a></div><div class="ttdeci">struct tagWND * spwndOwner</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01394">user.h:1394</a></div></div>
<div class="ttc" id="aa00362_html_abf4a1d1e53f7703a429cf806f38e0fcc"><div class="ttname"><a href="a00362.html#abf4a1d1e53f7703a429cf806f38e0fcc">NtUserSetWindowFNID</a></div><div class="ttdeci">BOOL NtUserSetWindowFNID(IN HWND hwnd, IN WORD fnid)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l06170">kernel/ntstubs.c:6170</a></div></div>
<div class="ttc" id="aa00020_html_a821be27172eef7b5f9dc20f1b2ea5975"><div class="ttname"><a href="a00020.html#a821be27172eef7b5f9dc20f1b2ea5975">hmodUser</a></div><div class="ttdeci">HMODULE hmodUser</div><div class="ttdef"><b>Definition:</b> <a href="a00020_source.html#l00041">clglobal.c:41</a></div></div>
<div class="ttc" id="aa00200_html_afa61bb94691880f75c76fcd4dee2a2d8"><div class="ttname"><a href="a00200.html#afa61bb94691880f75c76fcd4dee2a2d8">GetCascadeWindowPos</a></div><div class="ttdeci">void GetCascadeWindowPos(LPCRECT prcClient, int iWindow, LPRECT lprc)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00532">mdiwin.c:532</a></div></div>
<div class="ttc" id="aa02581_html_aa9cb183920d0decbae34685c0451ff0f"><div class="ttname"><a href="a02581.html#aa9cb183920d0decbae34685c0451ff0f">tagWND::spmenuSys</a></div><div class="ttdeci">struct tagMENU * spmenuSys</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01412">user.h:1412</a></div></div>
<div class="ttc" id="aa00362_html_a0aa1711ac96764929b5aec3aadb7af2f"><div class="ttname"><a href="a00362.html#a0aa1711ac96764929b5aec3aadb7af2f">NtUserDestroyWindow</a></div><div class="ttdeci">BOOL NtUserDestroyWindow(IN HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02870">kernel/ntstubs.c:2870</a></div></div>
<div class="ttc" id="aa00200_html_ac5d5d4faa720d277b543aa6cd72bb1b0"><div class="ttname"><a href="a00200.html#ac5d5d4faa720d277b543aa6cd72bb1b0">xxxChildResize</a></div><div class="ttdeci">void xxxChildResize(PWND pwnd, UINT wMode)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l02179">mdiwin.c:2179</a></div></div>
<div class="ttc" id="aa00362_html_ab79fb1908c7da8bfc42396a59d16eb20"><div class="ttname"><a href="a00362.html#ab79fb1908c7da8bfc42396a59d16eb20">NtUserScrollWindowEx</a></div><div class="ttdeci">BOOL NtUserScrollWindowEx(IN HWND hwnd, IN int XAmount, IN int YAmount, IN CONST RECT *pRect OPTIONAL, IN CONST RECT *pClipRect OPTIONAL, IN HRGN hrgnUpdate, OUT LPRECT prcUpdate OPTIONAL, IN UINT flags)</div></div>
<div class="ttc" id="aa00200_html_abf4a780c26348531b4b105c9d7d325dd"><div class="ttname"><a href="a00200.html#abf4a780c26348531b4b105c9d7d325dd">ScrollMDIChildren</a></div><div class="ttdeci">void ScrollMDIChildren(HWND hwnd, int nCtl, UINT wCmd, int iThumbPos)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00410">mdiwin.c:410</a></div></div>
<div class="ttc" id="aa00935_html_ae447c29296398f6e6ae0f28d192e606d"><div class="ttname"><a href="a00935.html#ae447c29296398f6e6ae0f28d192e606d">UnionRect</a></div><div class="ttdeci">BOOL APIENTRY UnionRect(LPRECT prcDst, CONST RECT *prcSrc1, CONST RECT *prcSrc2)</div><div class="ttdef"><b>Definition:</b> <a href="a00935_source.html#l00233">rect.c:233</a></div></div>
<div class="ttc" id="aa00200_html_a42ec51a2e35f70a0b89521d72d5df9ef"><div class="ttname"><a href="a00200.html#a42ec51a2e35f70a0b89521d72d5df9ef">DefMDIChildProcW</a></div><div class="ttdeci">LONG WINAPI DefMDIChildProcW(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l02471">mdiwin.c:2471</a></div></div>
<div class="ttc" id="aa00197_html_a1310a8c396c058795fff35d3a25181cc"><div class="ttname"><a href="a00197.html#a1310a8c396c058795fff35d3a25181cc">MDISetMenu</a></div><div class="ttdeci">HMENU MDISetMenu(PWND pwndMDI, BOOL fRefresh, HMENU hNewSys, HMENU hNewWindow)</div><div class="ttdef"><b>Definition:</b> <a href="a00197_source.html#l00541">mdimenu.c:541</a></div></div>
<div class="ttc" id="aa00200_html_a76862af9773b98632485be74a3c63fb6"><div class="ttname"><a href="a00200.html#a76862af9773b98632485be74a3c63fb6">CreateMDIWindowA</a></div><div class="ttdeci">HWND CreateMDIWindowA(LPSTR pClassName, LPSTR pWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hwndParent, HINSTANCE hModule, LPARAM lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l01318">mdiwin.c:1318</a></div></div>
<div class="ttc" id="aa00371_html_ad6b24a3d61abdc148c8751b5c5add686"><div class="ttname"><a href="a00371.html#ad6b24a3d61abdc148c8751b5c5add686">RIP_VERBOSE</a></div><div class="ttdeci">#define RIP_VERBOSE</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00030">winerrp.h:30</a></div></div>
<div class="ttc" id="aa00041_html_a56a2a5f665575c0310d1a35792f43b13"><div class="ttname"><a href="a00041.html#a56a2a5f665575c0310d1a35792f43b13">DefWindowProcWorker</a></div><div class="ttdeci">LONG DefWindowProcWorker(PWND pwnd, UINT message, WPARAM wParam, LPARAM lParam, DWORD fAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a00041_source.html#l00555">clmsg.c:555</a></div></div>
<div class="ttc" id="aa00263_html_a1662c7fcc1e9abee1764de987b64b1ee"><div class="ttname"><a href="a00263.html#a1662c7fcc1e9abee1764de987b64b1ee">IsMenu</a></div><div class="ttdeci">BOOL IsMenu(HMENU hMenu)</div><div class="ttdef"><b>Definition:</b> <a href="a00263_source.html#l00438">winmgrc.c:438</a></div></div>
<div class="ttc" id="aa00200_html_aa37dfcece35f127593222d093992608c"><div class="ttname"><a href="a00200.html#aa37dfcece35f127593222d093992608c">UnmaximizeChildWindows</a></div><div class="ttdeci">BOOL UnmaximizeChildWindows(HWND hwndParent)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00631">mdiwin.c:631</a></div></div>
<div class="ttc" id="aa00365_html_a373eb8782e10ebad75e466db8d01ebe0"><div class="ttname"><a href="a00365.html#a373eb8782e10ebad75e466db8d01ebe0">_GetClientRect</a></div><div class="ttdeci">BOOL _GetClientRect(PWND pwnd, LPRECT prc)</div><div class="ttdef"><b>Definition:</b> <a href="a03752_source.html#l00745">rtl/wow.c:745</a></div></div>
<div class="ttc" id="aa00200_html_a47a4c70a9495eab3183ca740118195f9"><div class="ttname"><a href="a00200.html#a47a4c70a9495eab3183ca740118195f9">TileWindows</a></div><div class="ttdeci">WORD TileWindows(HWND hwndParent, UINT flags, CONST RECT *lpRect, UINT chwnd, CONST HWND *ahwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00849">mdiwin.c:849</a></div></div>
<div class="ttc" id="aa03743_html_ac5ede70e870dc1cf540d7524887e4edc"><div class="ttname"><a href="a03743.html#ac5ede70e870dc1cf540d7524887e4edc">IsWindow</a></div><div class="ttdeci">BOOL IsWindow(HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03743_source.html#l00421">client/wow.c:421</a></div></div>
<div class="ttc" id="aa00362_html_aee7fc73c943acf6740c2d0bb841b7aba"><div class="ttname"><a href="a00362.html#aee7fc73c943acf6740c2d0bb841b7aba">NtUserSetWindowLong</a></div><div class="ttdeci">LONG NtUserSetWindowLong(IN HWND hwnd, IN int nIndex, IN LONG dwNewLong, IN BOOL bAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l04771">kernel/ntstubs.c:4771</a></div></div>
<div class="ttc" id="aa00371_html_a162a73e20dfabca084a3ebb4581631a8"><div class="ttname"><a href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a></div><div class="ttdeci">#define UserAssert(exp)</div><div class="ttdef"><b>Definition:</b> <a href="a00950_source.html#l00117">usersrv.h:117</a></div></div>
<div class="ttc" id="aa00362_html_ad284e50f61194ccea3d866168490596a"><div class="ttname"><a href="a00362.html#ad284e50f61194ccea3d866168490596a">NtUserSetSystemMenu</a></div><div class="ttdeci">BOOL NtUserSetSystemMenu(IN HWND hwnd, IN HMENU hmenu)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l06727">kernel/ntstubs.c:6727</a></div></div>
<div class="ttc" id="aa00371_html_afa5f32de88404289ec03cd2c0e61e94f"><div class="ttname"><a href="a00371.html#afa5f32de88404289ec03cd2c0e61e94f">RIP_ERROR</a></div><div class="ttdeci">#define RIP_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00028">winerrp.h:28</a></div></div>
<div class="ttc" id="aa00257_html_a9064f50a1f637e01f5af3f1421d5a798"><div class="ttname"><a href="a00257.html#a9064f50a1f637e01f5af3f1421d5a798">ValidateHwndNoRip</a></div><div class="ttdeci">PWND FASTCALL ValidateHwndNoRip(HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03743_source.html#l00173">client/wow.c:173</a></div></div>
<div class="ttc" id="aa00197_html_a4d32131a965be194567156981da95b09"><div class="ttname"><a href="a00197.html#a4d32131a965be194567156981da95b09">MDIAddSysMenu</a></div><div class="ttdeci">BOOL MDIAddSysMenu(HMENU hMenuFrame, HWND hwndChild)</div><div class="ttdef"><b>Definition:</b> <a href="a00197_source.html#l00165">mdimenu.c:165</a></div></div>
<div class="ttc" id="aa00197_html_af325eefdb4af81c06dfdad4cd7a5db2d"><div class="ttname"><a href="a00197.html#af325eefdb4af81c06dfdad4cd7a5db2d">MDIActivateDlgProcA</a></div><div class="ttdeci">LONG WINAPI MDIActivateDlgProcA(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00197_source.html#l00778">mdimenu.c:778</a></div></div>
<div class="ttc" id="aa00362_html_a0378399157cfb4978d4062c0baa5ffc9"><div class="ttname"><a href="a00362.html#a0378399157cfb4978d4062c0baa5ffc9">NtUserDeferWindowPos</a></div><div class="ttdeci">HANDLE NtUserDeferWindowPos(IN HDWP hWinPosInfo, IN HWND hwnd, IN HWND hwndInsertAfter, IN int x, IN int y, IN int cx, IN int cy, IN UINT wFlags)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l01340">kernel/ntstubs.c:1340</a></div></div>
<div class="ttc" id="aa00356_html_a3f53b9d5a549a62853c4e3fb22b649d7"><div class="ttname"><a href="a00356.html#a3f53b9d5a549a62853c4e3fb22b649d7">PostMessage</a></div><div class="ttdeci">BOOL APIENTRY PostMessage(HWND hwnd, UINT wMsg, WPARAM wParam, LPARAM lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00356_source.html#l00471">ntcftxt.h:471</a></div></div>
<div class="ttc" id="aa00257_html_a8fbbab4c887a01986a0cf83e1fba2554"><div class="ttname"><a href="a00257.html#a8fbbab4c887a01986a0cf83e1fba2554">PMDIWND</a></div><div class="ttdeci">struct tagMDIWND * PMDIWND</div></div>
<div class="ttc" id="aa03743_html_a9a953530498f0d3bfcf900d38cda8353"><div class="ttname"><a href="a03743.html#a9a953530498f0d3bfcf900d38cda8353">GetParent</a></div><div class="ttdeci">HWND GetParent(HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03743_source.html#l00480">client/wow.c:480</a></div></div>
<div class="ttc" id="aa00200_html_acc07148d787e75e81dc9956f3ed16491"><div class="ttname"><a href="a00200.html#acc07148d787e75e81dc9956f3ed16491">ScrollChildren</a></div><div class="ttdeci">VOID ScrollChildren(HWND hwnd, UINT wMsg, DWORD wParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00490">mdiwin.c:490</a></div></div>
<div class="ttc" id="aa02581_html_a5242d6e2f6cd000e8a85dcd824104ec4"><div class="ttname"><a href="a02581.html#a5242d6e2f6cd000e8a85dcd824104ec4">tagWND::strName</a></div><div class="ttdeci">LARGE_UNICODE_STRING strName</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01414">user.h:1414</a></div></div>
<div class="ttc" id="aa03743_html_a0a4b4ffaef0371b526a03f68506e6a80"><div class="ttname"><a href="a03743.html#a0a4b4ffaef0371b526a03f68506e6a80">GetDesktopWindow</a></div><div class="ttdeci">HWND GetDesktopWindow(void)</div><div class="ttdef"><b>Definition:</b> <a href="a03743_source.html#l00242">client/wow.c:242</a></div></div>
<div class="ttc" id="aa00362_html_a3aa84979aeb1f89caa4217dc0f88b104"><div class="ttname"><a href="a00362.html#a3aa84979aeb1f89caa4217dc0f88b104">NtUserSetFocus</a></div><div class="ttdeci">HWND NtUserSetFocus(IN HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l04594">kernel/ntstubs.c:4594</a></div></div>
<div class="ttc" id="aa01969_html_a0a2f84ed7838f07779ae24c5a9086d33"><div class="ttname"><a href="a01969.html#a0a2f84ed7838f07779ae24c5a9086d33">tagSHORTCREATE::y</a></div><div class="ttdeci">int y</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02253">usercli.h:2253</a></div></div>
<div class="ttc" id="aa00200_html_a867e9dafadf72e576a9f7d46c5eb1cca"><div class="ttname"><a href="a00200.html#a867e9dafadf72e576a9f7d46c5eb1cca">xxxMDIActivate</a></div><div class="ttdeci">void xxxMDIActivate(PWND pwnd, PWND pwndActivate)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l01059">mdiwin.c:1059</a></div></div>
<div class="ttc" id="aa00362_html_a00bbf48f9220b8cc246f0d2b2bea280c"><div class="ttname"><a href="a00362.html#a00bbf48f9220b8cc246f0d2b2bea280c">NtUserChildWindowFromPointEx</a></div><div class="ttdeci">HWND NtUserChildWindowFromPointEx(IN HWND hwndParent, IN POINT point, IN UINT flags)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02668">kernel/ntstubs.c:2668</a></div></div>
<div class="ttc" id="aa00197_html_a779ab41018bd3951528a4201d4b5a0fb"><div class="ttname"><a href="a00197.html#a779ab41018bd3951528a4201d4b5a0fb">FindPwndChild</a></div><div class="ttdeci">PWND FindPwndChild(PWND pwndMDI, UINT wChildID)</div><div class="ttdef"><b>Definition:</b> <a href="a00197_source.html#l00022">mdimenu.c:22</a></div></div>
<div class="ttc" id="aa00263_html_ae1ceb717793b21c250225fce6cb4619a"><div class="ttname"><a href="a00263.html#ae1ceb717793b21c250225fce6cb4619a">_AdjustWindowRectEx</a></div><div class="ttdeci">BOOL _AdjustWindowRectEx(LPRECT lprc, LONG style, BOOL fMenu, DWORD dwExStyle)</div><div class="ttdef"><b>Definition:</b> <a href="a00263_source.html#l00550">winmgrc.c:550</a></div></div>
<div class="ttc" id="aa00200_html_a161b83ffc2a2a8d4bc92d6283ce32d17"><div class="ttname"><a href="a00200.html#a161b83ffc2a2a8d4bc92d6283ce32d17">DefFrameProcA</a></div><div class="ttdeci">LONG WINAPI DefFrameProcA(HWND hwnd, HWND hwndMDIClient, UINT message, WPARAM wParam, LPARAM lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l02130">mdiwin.c:2130</a></div></div>
<div class="ttc" id="aa00200_html_aa3c06b5c04c6b3cda370a97b37e2d3c8"><div class="ttname"><a href="a00200.html#aa3c06b5c04c6b3cda370a97b37e2d3c8">DefMDIChildProcWorker</a></div><div class="ttdeci">LONG DefMDIChildProcWorker(HWND hwnd, UINT wMsg, WPARAM wParam, LPARAM lParam, BOOL fAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l02285">mdiwin.c:2285</a></div></div>
<div class="ttc" id="aa00362_html_a0fe7305d679920848bce8881016c3451"><div class="ttname"><a href="a00362.html#a0fe7305d679920848bce8881016c3451">NtUserDeleteMenu</a></div><div class="ttdeci">BOOL NtUserDeleteMenu(IN HMENU hmenu, IN UINT nPosition, IN UINT dwFlags)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02741">kernel/ntstubs.c:2741</a></div></div>
<div class="ttc" id="aa00200_html_aeb80a263a1795a525abe1f4b2df48941"><div class="ttname"><a href="a00200.html#aeb80a263a1795a525abe1f4b2df48941">MDICompleteChildCreation</a></div><div class="ttdeci">BOOL MDICompleteChildCreation(HWND hwndChild, HMENU hSysMenu, BOOL fVisible, BOOL fDisabled)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l02489">mdiwin.c:2489</a></div></div>
<div class="ttc" id="aa00200_html_a1db637f8c3fdec4178771555cae9e11e"><div class="ttname"><a href="a00200.html#a1db637f8c3fdec4178771555cae9e11e">MDICheckCascadeRect</a></div><div class="ttdeci">void MDICheckCascadeRect(PWND pwndClient, LPRECT lprc)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00585">mdiwin.c:585</a></div></div>
<div class="ttc" id="aa00200_html_aefb3c2372cebbaab63754a59c70d5866"><div class="ttname"><a href="a00200.html#aefb3c2372cebbaab63754a59c70d5866">DefMDIChildProcA</a></div><div class="ttdeci">LONG WINAPI DefMDIChildProcA(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l02480">mdiwin.c:2480</a></div></div>
<div class="ttc" id="aa00935_html_a59a3cfdacf3d0e5d10c20abee032cfc6"><div class="ttname"><a href="a00935.html#a59a3cfdacf3d0e5d10c20abee032cfc6">OffsetRect</a></div><div class="ttdeci">BOOL APIENTRY OffsetRect(LPRECT prc, int cx, int cy)</div><div class="ttdef"><b>Definition:</b> <a href="a00935_source.html#l00132">rect.c:132</a></div></div>
<div class="ttc" id="aa00371_html_ae61d954062a9ece52e350e54cad9a23d"><div class="ttname"><a href="a00371.html#ae61d954062a9ece52e350e54cad9a23d">RIPERR0</a></div><div class="ttdeci">#define RIPERR0(idErr, flags, szFmt)</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00119">winerrp.h:119</a></div></div>
<div class="ttc" id="aa00899_html_abfae1dfb48db23dcea4494f7990ad6a6"><div class="ttname"><a href="a00899.html#abfae1dfb48db23dcea4494f7990ad6a6">ThreadLock</a></div><div class="ttdeci">VOID ThreadLock(PVOID pobj, PTL ptl)</div></div>
<div class="ttc" id="aa00365_html_a3bcfad2fca870b484811dc73379657f9"><div class="ttname"><a href="a00365.html#a3bcfad2fca870b484811dc73379657f9">GetRealClientRect</a></div><div class="ttdeci">void GetRealClientRect(PWND pwnd, LPRECT prc, UINT uFlags)</div><div class="ttdef"><b>Definition:</b> <a href="a03728_source.html#l00323">rtl/winmgr.c:323</a></div></div>
<div class="ttc" id="aa00935_html_a1c87c29903dd37145cd93b64140a5d3a"><div class="ttname"><a href="a00935.html#a1c87c29903dd37145cd93b64140a5d3a">IntersectRect</a></div><div class="ttdeci">BOOL APIENTRY IntersectRect(LPRECT prcDst, CONST RECT *prcSrc1, CONST RECT *prcSrc2)</div><div class="ttdef"><b>Definition:</b> <a href="a00935_source.html#l00184">rect.c:184</a></div></div>
<div class="ttc" id="aa00335_html_af879649bddfeaac7e49e891fff78a9b1"><div class="ttname"><a href="a00335.html#af879649bddfeaac7e49e891fff78a9b1">SFI_SETWINDOWSTATE</a></div><div class="ttdeci">#define SFI_SETWINDOWSTATE</div><div class="ttdef"><b>Definition:</b> <a href="a00335_source.html#l00030">cscall.h:30</a></div></div>
<div class="ttc" id="aa00362_html_a0e2153d7fe134894a5effa0d93eba4fe"><div class="ttname"><a href="a00362.html#a0e2153d7fe134894a5effa0d93eba4fe">NtUserDestroyMenu</a></div><div class="ttdeci">BOOL NtUserDestroyMenu(IN HMENU hmenu)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02854">kernel/ntstubs.c:2854</a></div></div>
<div class="ttc" id="aa00017_html_a38f9f1cda93f580ed3ac238d15bd06f7"><div class="ttname"><a href="a00017.html#a38f9f1cda93f580ed3ac238d15bd06f7">BuildHwndList</a></div><div class="ttdeci">DWORD BuildHwndList(HDESK hdesk, HWND hwndNext, BOOL fEnumChildren, DWORD idThread, HWND **pphwndFirst)</div><div class="ttdef"><b>Definition:</b> <a href="a00017_source.html#l00112">clenum.c:112</a></div></div>
<div class="ttc" id="aa00362_html_a4273ee771ddd5f3df4e5f365620c45f8"><div class="ttname"><a href="a00362.html#a4273ee771ddd5f3df4e5f365620c45f8">NtUserMoveWindow</a></div><div class="ttdeci">BOOL NtUserMoveWindow(IN HWND hwnd, IN int x, IN int y, IN int cx, IN int cy, IN BOOL fRepaint)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l01498">kernel/ntstubs.c:1498</a></div></div>
<div class="ttc" id="aa00365_html_a76a779f43c6f191cc7b24e787ac3c824"><div class="ttname"><a href="a00365.html#a76a779f43c6f191cc7b24e787ac3c824">_ScreenToClient</a></div><div class="ttdeci">BOOL _ScreenToClient(PWND pwnd, PPOINT ppt)</div><div class="ttdef"><b>Definition:</b> <a href="a03752_source.html#l00812">rtl/wow.c:812</a></div></div>
<div class="ttc" id="aa00263_html_ad8538f97a4c88898ed54c5aa17c58d09"><div class="ttname"><a href="a00263.html#ad8538f97a4c88898ed54c5aa17c58d09">GetScrollInfo</a></div><div class="ttdeci">BOOL GetScrollInfo(HWND hwnd, int code, LPSCROLLINFO lpsi)</div><div class="ttdef"><b>Definition:</b> <a href="a00263_source.html#l00346">winmgrc.c:346</a></div></div>
<div class="ttc" id="aa00362_html_a62d555d64578412042377f774c909d43"><div class="ttname"><a href="a00362.html#a62d555d64578412042377f774c909d43">NtUserLockWindowUpdate</a></div><div class="ttdeci">BOOL NtUserLockWindowUpdate(IN HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l03027">kernel/ntstubs.c:3027</a></div></div>
<div class="ttc" id="aa02625_html"><div class="ttname"><a href="a02625.html">tagMENU</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01992">user.h:1992</a></div></div>
<div class="ttc" id="aa00200_html_aaa6de7d4c7a0d0f485d7769181b4d568"><div class="ttname"><a href="a00200.html#aaa6de7d4c7a0d0f485d7769181b4d568">TranslateMDISysAccel</a></div><div class="ttdeci">BOOL TranslateMDISysAccel(HWND hwnd, LPMSG lpMsg)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00125">mdiwin.c:125</a></div></div>
<div class="ttc" id="aa01969_html_a309bf8d531939eba86ac4913eb0863d5"><div class="ttname"><a href="a01969.html#a309bf8d531939eba86ac4913eb0863d5">tagSHORTCREATE::hMenu</a></div><div class="ttdeci">HMENU hMenu</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02256">usercli.h:2256</a></div></div>
<div class="ttc" id="aa01969_html_a6150e0515f7202e2fb518f7206ed97dc"><div class="ttname"><a href="a01969.html#a6150e0515f7202e2fb518f7206ed97dc">tagSHORTCREATE::x</a></div><div class="ttdeci">int x</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02254">usercli.h:2254</a></div></div>
<div class="ttc" id="aa00563_html_a074685e97e89d6aa2accdfcb82328699"><div class="ttname"><a href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a></div><div class="ttdeci">ddeml v[i&lt; inst &gt;][t&lt; type &gt;][hObj|pObj] Dump DDEML state information ddeml lists all ddeml instances for this process n ddeml t&lt; type &gt; lists all ddeml objects of the given type n n assumes link is first DWORD</div><div class="ttdef"><b>Definition:</b> <a href="a00563_source.html#l00175">exts.h:175</a></div></div>
<div class="ttc" id="aa03743_html_a6a7e3f94f35b33d993059a10dfe976f5"><div class="ttname"><a href="a03743.html#a6a7e3f94f35b33d993059a10dfe976f5">IsIconic</a></div><div class="ttdeci">BOOL IsIconic(HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03743_source.html#l00639">client/wow.c:639</a></div></div>
<div class="ttc" id="aa00026_html_a0cecedf7a462633cf5456292b526d8ec"><div class="ttname"><a href="a00026.html#a0cecedf7a462633cf5456292b526d8ec">ClearWindowState</a></div><div class="ttdeci">void ClearWindowState(PWND pwnd, UINT flags)</div><div class="ttdef"><b>Definition:</b> <a href="a00026_source.html#l02834">client.c:2834</a></div></div>
<div class="ttc" id="aa00362_html_a97ea52174705d791899a9df860aab676"><div class="ttname"><a href="a00362.html#a97ea52174705d791899a9df860aab676">NtUserSetWindowPos</a></div><div class="ttdeci">BOOL NtUserSetWindowPos(IN HWND hwnd, IN HWND hwndInsertAfter, IN int x, IN int y, IN int cx, IN int cy, IN UINT dwFlags)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l01716">kernel/ntstubs.c:1716</a></div></div>
<div class="ttc" id="aa00362_html_a4587e82182c73aeb97a7f528b5dfdaa0"><div class="ttname"><a href="a00362.html#a4587e82182c73aeb97a7f528b5dfdaa0">NtUserCallHwndParam</a></div><div class="ttdeci">DWORD NtUserCallHwndParam(IN HWND hwnd, IN DWORD dwParam, IN DWORD xpfnProc)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l03370">kernel/ntstubs.c:3370</a></div></div>
<div class="ttc" id="aa02581_html_ad680eabbc65eb4d160362e2c73a19994"><div class="ttname"><a href="a02581.html#ad680eabbc65eb4d160362e2c73a19994">tagWND::spmenu</a></div><div class="ttdeci">struct tagMENU * spmenu</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01413">user.h:1413</a></div></div>
<div class="ttc" id="aa00362_html_ad82394755c01195d797f677ced46660a"><div class="ttname"><a href="a00362.html#ad82394755c01195d797f677ced46660a">NtUserMinMaximize</a></div><div class="ttdeci">HWND NtUserMinMaximize(IN HWND hwnd, IN UINT nCmdShow, IN BOOL fKeepHidden)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l04168">kernel/ntstubs.c:4168</a></div></div>
<div class="ttc" id="aa01881_html"><div class="ttname"><a href="a01881.html">_TL</a></div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l00347">usercli.h:347</a></div></div>
<div class="ttc" id="aa00197_html_a59b262b55c4f5b2ac115b815fa5fb7c5"><div class="ttname"><a href="a00197.html#a59b262b55c4f5b2ac115b815fa5fb7c5">ShiftMenuIDs</a></div><div class="ttdeci">void ShiftMenuIDs(PWND pwnd, PWND pwndVictim)</div><div class="ttdef"><b>Definition:</b> <a href="a00197_source.html#l00509">mdimenu.c:509</a></div></div>
<div class="ttc" id="aa02581_html_a2778d611c2b27395e559c94d05732e1f"><div class="ttname"><a href="a02581.html#a2778d611c2b27395e559c94d05732e1f">tagWND::rcWindow</a></div><div class="ttdeci">RECT rcWindow</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01398">user.h:1398</a></div></div>
<div class="ttc" id="aa02581_html"><div class="ttname"><a href="a02581.html">tagWND</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01388">user.h:1388</a></div></div>
<div class="ttc" id="aa00047_html_aaa772e7fa87db74332ec0252eb86209f"><div class="ttname"><a href="a00047.html#aaa772e7fa87db74332ec0252eb86209f">DialogBoxParamA</a></div><div class="ttdeci">int WINAPI DialogBoxParamA(HINSTANCE hmod, LPCSTR lpName, HWND hwndOwner, DLGPROC lpDialogFunc, LPARAM dwInitParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00047_source.html#l00707">clres.c:707</a></div></div>
<div class="ttc" id="aa00365_html_a7c4e37334c4498482f6192199d683fbf"><div class="ttname"><a href="a00365.html#a7c4e37334c4498482f6192199d683fbf">GetWindowBorders</a></div><div class="ttdeci">int GetWindowBorders(LONG lStyle, DWORD dwExStyle, BOOL fWindow, BOOL fClient)</div><div class="ttdef"><b>Definition:</b> <a href="a03728_source.html#l00501">rtl/winmgr.c:501</a></div></div>
<div class="ttc" id="aa00362_html_af2e007664f2c2b68908d086861b77ddb"><div class="ttname"><a href="a00362.html#af2e007664f2c2b68908d086861b77ddb">NtUserShowWindow</a></div><div class="ttdeci">BOOL NtUserShowWindow(IN HWND hwnd, IN int nCmdShow)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l04899">kernel/ntstubs.c:4899</a></div></div>
<div class="ttc" id="aa00371_html_a41f433389f20db57f042022a662e96de"><div class="ttname"><a href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a></div><div class="ttdeci">#define RIP_WARNING</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00029">winerrp.h:29</a></div></div>
<div class="ttc" id="aa00362_html_ae605196462ba78c3bf2d2bf76a905878"><div class="ttname"><a href="a00362.html#ae605196462ba78c3bf2d2bf76a905878">NtUserGetSystemMenu</a></div><div class="ttdeci">HMENU NtUserGetSystemMenu(IN HWND hwnd, IN BOOL bRevert)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l03989">kernel/ntstubs.c:3989</a></div></div>
<div class="ttc" id="aa00197_html_a953c4e7b37f089bee9b2e339c2df42ef"><div class="ttname"><a href="a00197.html#a953c4e7b37f089bee9b2e339c2df42ef">ModifyMenuItem</a></div><div class="ttdeci">void ModifyMenuItem(PWND pwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a00197_source.html#l00102">mdimenu.c:102</a></div></div>
<div class="ttc" id="aa00200_html_af7a99f6698f6bc9ca04488ae752fb403"><div class="ttname"><a href="a00200.html#af7a99f6698f6bc9ca04488ae752fb403">MDIClientWndProcW</a></div><div class="ttdeci">LONG WINAPI MDIClientWndProcW(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l01856">mdiwin.c:1856</a></div></div>
<div class="ttc" id="aa00365_html_a976181f00e2ce3d0df4b770ea93f8443"><div class="ttname"><a href="a00365.html#a976181f00e2ce3d0df4b770ea93f8443">_GetWindow</a></div><div class="ttdeci">PWND _GetWindow(PWND pwnd, UINT cmd)</div><div class="ttdef"><b>Definition:</b> <a href="a03752_source.html#l00507">rtl/wow.c:507</a></div></div>
<div class="ttc" id="aa00365_html_a4dddfac60ddaa5a11f91719826b7b270"><div class="ttname"><a href="a00365.html#a4dddfac60ddaa5a11f91719826b7b270">RtlInitLargeUnicodeString</a></div><div class="ttdeci">VOID RtlInitLargeUnicodeString(PLARGE_UNICODE_STRING plstr, LPCWSTR psz, UINT cchLimit)</div><div class="ttdef"><b>Definition:</b> <a href="a00932_source.html#l00587">chartran.c:587</a></div></div>
<div class="ttc" id="aa00200_html_ac6db366fd4def530e4617a5e37bed6f0"><div class="ttname"><a href="a00200.html#ac6db366fd4def530e4617a5e37bed6f0">DefFrameProcW</a></div><div class="ttdeci">LONG WINAPI DefFrameProcW(HWND hwnd, HWND hwndMDIClient, UINT message, WPARAM wParam, LPARAM lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l02119">mdiwin.c:2119</a></div></div>
<div class="ttc" id="aa00200_html_a1a5df2316cee93109da9da469578f07a"><div class="ttname"><a href="a00200.html#a1a5df2316cee93109da9da469578f07a">RecalculateScrollRanges</a></div><div class="ttdeci">void RecalculateScrollRanges(PWND pwndParent, BOOL fIgnoreMin)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00510">mdiwin.c:510</a></div></div>
<div class="ttc" id="aa01961_html"><div class="ttname"><a href="a01961.html">tagMDI</a></div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02233">usercli.h:2233</a></div></div>
<div class="ttc" id="aa00935_html_a0cbc8750cb300c339ef3d2c0ca689f1a"><div class="ttname"><a href="a00935.html#a0cbc8750cb300c339ef3d2c0ca689f1a">EqualRect</a></div><div class="ttdeci">BOOL APIENTRY EqualRect(CONST RECT *prc1, CONST RECT *prc2)</div><div class="ttdef"><b>Definition:</b> <a href="a00935_source.html#l00285">rect.c:285</a></div></div>
<div class="ttc" id="aa03611_html_a2a39ced7839ed0c5501c9fde2f3a930b"><div class="ttname"><a href="a03611.html#a2a39ced7839ed0c5501c9fde2f3a930b">_DefSetText</a></div><div class="ttdeci">BOOL _DefSetText(HWND hwnd, LPCWSTR lpszText, BOOL bAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01291">client/ntstubs.c:1291</a></div></div>
<div class="ttc" id="aa00203_html_a93eb9296d81e8c954f5f74fa8e4a7246"><div class="ttname"><a href="a00203.html#a93eb9296d81e8c954f5f74fa8e4a7246">CheckMenuItem</a></div><div class="ttdeci">DWORD CheckMenuItem(HMENU hMenu, UINT uIDCheckItem, UINT uCheck)</div><div class="ttdef"><b>Definition:</b> <a href="a00203_source.html#l00031">menuc.c:31</a></div></div>
<div class="ttc" id="aa03638_html_a16fd457263dd41cbe1f41a4495bc85fe"><div class="ttname"><a href="a03638.html#a16fd457263dd41cbe1f41a4495bc85fe">TextAlloc</a></div><div class="ttdeci">LPWSTR TextAlloc(LPCWSTR lpszSrc)</div><div class="ttdef"><b>Definition:</b> <a href="a03638_source.html#l00185">client/random.c:185</a></div></div>
<div class="ttc" id="aa03611_html_a4dfda995bf0f082361527377e6e63833"><div class="ttname"><a href="a03611.html#a4dfda995bf0f082361527377e6e63833">RedrawWindow</a></div><div class="ttdeci">BOOL RedrawWindow(HWND hwnd, CONST RECT *prcUpdate, HRGN hrgnUpdate, UINT flags)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01037">client/ntstubs.c:1037</a></div></div>
<div class="ttc" id="aa00362_html_a16b745ee1032a7027469dea5551c0831"><div class="ttname"><a href="a00362.html#a16b745ee1032a7027469dea5551c0831">NtUserShowWindowAsync</a></div><div class="ttdeci">BOOL NtUserShowWindowAsync(IN HWND hwnd, IN int nCmdShow)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l04874">kernel/ntstubs.c:4874</a></div></div>
<div class="ttc" id="aa00200_html_a2f2ff3094243b2931fe48fa6fffa5a28"><div class="ttname"><a href="a00200.html#a2f2ff3094243b2931fe48fa6fffa5a28">SBJ_HORZ</a></div><div class="ttdeci">#define SBJ_HORZ</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00210">mdiwin.c:210</a></div></div>
<div class="ttc" id="aa00293_html_a41d387d1b2d42169cbaa2092c8a02abf"><div class="ttname"><a href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a></div><div class="ttdeci">#define ValidateHwnd(hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a00293_source.html#l00090">immcli.h:90</a></div></div>
<div class="ttc" id="aa02457_html_abfb371817eb1c8f0d8a165bb2b798092"><div class="ttname"><a href="a02457.html#abfb371817eb1c8f0d8a165bb2b798092">_LARGE_UNICODE_STRING::Length</a></div><div class="ttdeci">ULONG Length</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00281">user.h:281</a></div></div>
<div class="ttc" id="aa00365_html_a97cf597a555ebc0a9906a10df3382f33"><div class="ttname"><a href="a00365.html#a97cf597a555ebc0a9906a10df3382f33">_MNCanClose</a></div><div class="ttdeci">BOOL _MNCanClose(PWND pwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03599_source.html#l00078">rtl/menu.c:78</a></div></div>
<div class="ttc" id="aa01969_html_ad36501a70b25e18bcf48dd6e03392305"><div class="ttname"><a href="a01969.html#ad36501a70b25e18bcf48dd6e03392305">tagSHORTCREATE::cy</a></div><div class="ttdeci">int cy</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02251">usercli.h:2251</a></div></div>
<div class="ttc" id="aa00365_html_add42cfa617c629deef27087b88368891"><div class="ttname"><a href="a00365.html#add42cfa617c629deef27087b88368891">CopyInflateRect</a></div><div class="ttdeci">BOOL APIENTRY CopyInflateRect(LPRECT prcDst, CONST RECT *prcSrc, int cx, int cy)</div><div class="ttdef"><b>Definition:</b> <a href="a00935_source.html#l00046">rect.c:46</a></div></div>
<div class="ttc" id="aa00362_html_a790ab491160804ab82699e9f0edb5077"><div class="ttname"><a href="a00362.html#a790ab491160804ab82699e9f0edb5077">NtUserSetScrollInfo</a></div><div class="ttdeci">int NtUserSetScrollInfo(IN HWND hwnd, IN int nBar, IN LPCSCROLLINFO pInfo, IN BOOL fRedraw)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l04678">kernel/ntstubs.c:4678</a></div></div>
<div class="ttc" id="aa03743_html_a72ab23f7e5d7d08157db573dc8666aff"><div class="ttname"><a href="a03743.html#a72ab23f7e5d7d08157db573dc8666aff">GetWindow</a></div><div class="ttdeci">HWND GetWindow(HWND hwnd, UINT wCmd)</div><div class="ttdef"><b>Definition:</b> <a href="a03743_source.html#l00466">client/wow.c:466</a></div></div>
<div class="ttc" id="aa00335_html_a6351625761ce4edc1fc3e000ca54c4de"><div class="ttname"><a href="a00335.html#a6351625761ce4edc1fc3e000ca54c4de">SFI_CLEARWINDOWSTATE</a></div><div class="ttdeci">#define SFI_CLEARWINDOWSTATE</div><div class="ttdef"><b>Definition:</b> <a href="a00335_source.html#l00002">cscall.h:2</a></div></div>
<div class="ttc" id="aa03608_html_afd1a0e78d1f88954d93e48ab3821781f"><div class="ttname"><a href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a></div><div class="ttdeci">typedef UINT(FAR WINAPI *MSGSOUNDPROC)()</div></div>
<div class="ttc" id="aa03620_html"><div class="ttname"><a href="a03620.html">precomp.h</a></div></div>
<div class="ttc" id="aa03743_html_a198bfb6a02f377add1b153df79b8a22d"><div class="ttname"><a href="a03743.html#a198bfb6a02f377add1b153df79b8a22d">GetMenuItemCount</a></div><div class="ttdeci">int GetMenuItemCount(HMENU hMenu)</div><div class="ttdef"><b>Definition:</b> <a href="a03743_source.html#l00357">client/wow.c:357</a></div></div>
<div class="ttc" id="aa00362_html_a8c789c94f5d786b6ee30f9b02fffc2f5"><div class="ttname"><a href="a00362.html#a8c789c94f5d786b6ee30f9b02fffc2f5">NtUserEndDeferWindowPosEx</a></div><div class="ttdeci">BOOL NtUserEndDeferWindowPosEx(IN HDWP hWinPosInfo, IN BOOL fAsync)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l01444">kernel/ntstubs.c:1444</a></div></div>
<div class="ttc" id="aa00200_html_a94ff0ec22950f82017c679c1e1a2054c"><div class="ttname"><a href="a00200.html#a94ff0ec22950f82017c679c1e1a2054c">CascadeWindows</a></div><div class="ttdeci">WORD CascadeWindows(HWND hwndParent, UINT flags, CONST RECT *lpRect, UINT chwnd, CONST HWND *ahwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00714">mdiwin.c:714</a></div></div>
<div class="ttc" id="aa00200_html_a7e1f58dcf9e7338ae1028807e7a190a2"><div class="ttname"><a href="a00200.html#a7e1f58dcf9e7338ae1028807e7a190a2">ByteOutsetRect</a></div><div class="ttdeci">void ByteOutsetRect(LPRECT lprc)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00214">mdiwin.c:214</a></div></div>
<div class="ttc" id="aa03743_html_a8cf1d97d79126c678e058be653fa9296"><div class="ttname"><a href="a03743.html#a8cf1d97d79126c678e058be653fa9296">IsChild</a></div><div class="ttdeci">BOOL IsChild(HWND hwndParent, HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03743_source.html#l00622">client/wow.c:622</a></div></div>
<div class="ttc" id="aa00365_html_abdca6a2346c0c6e4e7857a9edd89be3f"><div class="ttname"><a href="a00365.html#abdca6a2346c0c6e4e7857a9edd89be3f">TextCopy</a></div><div class="ttdeci">UINT TextCopy(PLARGE_UNICODE_STRING pstr, LPWSTR lpstr, UINT size)</div><div class="ttdef"><b>Definition:</b> <a href="a03650_source.html#l00108">rtl/random.c:108</a></div></div>
<div class="ttc" id="aa00899_html_a70b09c3e2b495630f4205d34be505afb"><div class="ttname"><a href="a00899.html#a70b09c3e2b495630f4205d34be505afb">CheckLock</a></div><div class="ttdeci">VOID CheckLock(PVOID pobj)</div></div>
<div class="ttc" id="aa01969_html_aa68195bea010296f58019dd25038d440"><div class="ttname"><a href="a01969.html#aa68195bea010296f58019dd25038d440">tagSHORTCREATE::style</a></div><div class="ttdeci">LONG style</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02255">usercli.h:2255</a></div></div>
<div class="ttc" id="aa00200_html_a14820667180a6a7070a334b85e32a73a"><div class="ttname"><a href="a00200.html#a14820667180a6a7070a334b85e32a73a">SBJ_VERT</a></div><div class="ttdeci">#define SBJ_VERT</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00211">mdiwin.c:211</a></div></div>
<div class="ttc" id="aa00935_html_a6f9d1e9b327899127c080496900d48d9"><div class="ttname"><a href="a00935.html#a6f9d1e9b327899127c080496900d48d9">SetRectEmpty</a></div><div class="ttdeci">BOOL APIENTRY SetRectEmpty(LPRECT prc)</div><div class="ttdef"><b>Definition:</b> <a href="a00935_source.html#l00414">rect.c:414</a></div></div>
<div class="ttc" id="aa00935_html_a31ccccdb469eefbb55d18b71a26af0da"><div class="ttname"><a href="a00935.html#a31ccccdb469eefbb55d18b71a26af0da">CopyRect</a></div><div class="ttdeci">BOOL APIENTRY CopyRect(LPRECT prcDst, CONST RECT *prcSrc)</div><div class="ttdef"><b>Definition:</b> <a href="a00935_source.html#l00391">rect.c:391</a></div></div>
<div class="ttc" id="aa03743_html_a6fff890dabd74b268fbcba3368ecc560"><div class="ttname"><a href="a03743.html#a6fff890dabd74b268fbcba3368ecc560">_GetDesktopWindow</a></div><div class="ttdeci">PWND _GetDesktopWindow(void)</div><div class="ttdef"><b>Definition:</b> <a href="a03743_source.html#l00229">client/wow.c:229</a></div></div>
<div class="ttc" id="aa00200_html_a8551c78886421c2ca121c2a881c801ae"><div class="ttname"><a href="a00200.html#a8551c78886421c2ca121c2a881c801ae">IsPositionable</a></div><div class="ttdeci">int IsPositionable(PWND pwnd, UINT uFlags, BOOL fSkipOutside)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00030">mdiwin.c:30</a></div></div>
<div class="ttc" id="aa00200_html_a2e5f8707be3dc4f69ca0c0f27476d3e2"><div class="ttname"><a href="a00200.html#a2e5f8707be3dc4f69ca0c0f27476d3e2">MDIClientWndProcA</a></div><div class="ttdeci">LONG WINAPI MDIClientWndProcA(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l01841">mdiwin.c:1841</a></div></div>
<div class="ttc" id="aa00362_html_adf4cf9f0fae9564a6e388dfb3a16a9e0"><div class="ttname"><a href="a00362.html#adf4cf9f0fae9564a6e388dfb3a16a9e0">NtUserGetForegroundWindow</a></div><div class="ttdeci">HWND NtUserGetForegroundWindow(VOID)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l03922">kernel/ntstubs.c:3922</a></div></div>
<div class="ttc" id="aa01969_html_af905a9989361d094908ad04e08f6429d"><div class="ttname"><a href="a01969.html#af905a9989361d094908ad04e08f6429d">tagSHORTCREATE::cx</a></div><div class="ttdeci">int cx</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02252">usercli.h:2252</a></div></div>
<div class="ttc" id="aa03611_html_a6070b5fbb565045cdb9251e4276a4f93"><div class="ttname"><a href="a03611.html#a6070b5fbb565045cdb9251e4276a4f93">GetWindowPlacement</a></div><div class="ttdeci">BOOL GetWindowPlacement(HWND hwnd, PWINDOWPLACEMENT pwp)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00354">client/ntstubs.c:354</a></div></div>
<div class="ttc" id="aa02581_html_a17d59d04094aef8b577c0aa781cdf2c6"><div class="ttname"><a href="a02581.html#a17d59d04094aef8b577c0aa781cdf2c6">tagWND::rcClient</a></div><div class="ttdeci">RECT rcClient</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01399">user.h:1399</a></div></div>
<div class="ttc" id="aa00200_html_a56ca0e7e2d55ef100c76181eea1eee44"><div class="ttname"><a href="a00200.html#a56ca0e7e2d55ef100c76181eea1eee44">CalcClientScrolling</a></div><div class="ttdeci">void CalcClientScrolling(HWND hwnd, UINT sbj, BOOL fIgnoreMin)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00229">mdiwin.c:229</a></div></div>
<div class="ttc" id="aa03743_html_ac9cce9d0a590697fbfd45e1d983b1454"><div class="ttname"><a href="a03743.html#ac9cce9d0a590697fbfd45e1d983b1454">GetMenu</a></div><div class="ttdeci">HMENU GetMenu(HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03743_source.html#l00324">client/wow.c:324</a></div></div>
<div class="ttc" id="aa01969_html"><div class="ttname"><a href="a01969.html">tagSHORTCREATE</a></div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02250">usercli.h:2250</a></div></div>
<div class="ttc" id="aa00200_html_a5907c19451a0ab4a3898a83838892707"><div class="ttname"><a href="a00200.html#a5907c19451a0ab4a3898a83838892707">DefFrameProcWorker</a></div><div class="ttdeci">LONG DefFrameProcWorker(HWND hwnd, HWND hwndMDI, UINT wMsg, WPARAM wParam, LPARAM lParam, BOOL fAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l01879">mdiwin.c:1879</a></div></div>
<div class="ttc" id="aa02457_html"><div class="ttname"><a href="a02457.html">_LARGE_UNICODE_STRING</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00280">user.h:280</a></div></div>
<div class="ttc" id="aa03611_html_a02faeb6792094207ff4900c5b480dab2"><div class="ttname"><a href="a03611.html#a02faeb6792094207ff4900c5b480dab2">GetKeyState</a></div><div class="ttdeci">SHORT GetKeyState(int vKey)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00589">client/ntstubs.c:589</a></div></div>
<div class="ttc" id="aa00047_html_a901a4dc4e380dc0fa8cc0e62f5f0940f"><div class="ttname"><a href="a00047.html#a901a4dc4e380dc0fa8cc0e62f5f0940f">DialogBoxParamW</a></div><div class="ttdeci">int WINAPI DialogBoxParamW(HINSTANCE hmod, LPCWSTR lpName, HWND hwndOwner, DLGPROC lpDialogFunc, LONG dwInitParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00047_source.html#l00741">clres.c:741</a></div></div>
<div class="ttc" id="aa00362_html_a9d31affb78e14848936ca8bf72f0be23"><div class="ttname"><a href="a00362.html#a9d31affb78e14848936ca8bf72f0be23">NtUserShowScrollBar</a></div><div class="ttdeci">BOOL NtUserShowScrollBar(IN HWND hwnd, IN int iBar, IN BOOL fShow)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l04849">kernel/ntstubs.c:4849</a></div></div>
<div class="ttc" id="aa00362_html_aa5258078ff9b60251c9b6024af494146"><div class="ttname"><a href="a00362.html#aa5258078ff9b60251c9b6024af494146">NtUserQueryWindow</a></div><div class="ttdeci">HANDLE NtUserQueryWindow(IN HWND hwnd, IN WINDOWINFOCLASS WindowInfo)</div></div>
<div class="ttc" id="aa03743_html_aab0ab7d08c2998b438644c5a8f8da2b9"><div class="ttname"><a href="a03743.html#aab0ab7d08c2998b438644c5a8f8da2b9">IsWindowEnabled</a></div><div class="ttdeci">BOOL IsWindowEnabled(HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03743_source.html#l00652">client/wow.c:652</a></div></div>
<div class="ttc" id="aa00200_html_a5bbf30d87062dc2978b61c091b234e87"><div class="ttname"><a href="a00200.html#a5bbf30d87062dc2978b61c091b234e87">MAX_TITLE_LEN</a></div><div class="ttdeci">#define MAX_TITLE_LEN</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l00016">mdiwin.c:16</a></div></div>
<div class="ttc" id="aa00197_html_aa300b1c82b580cb6f7134d6e719da13d"><div class="ttname"><a href="a00197.html#aa300b1c82b580cb6f7134d6e719da13d">MDIRemoveSysMenu</a></div><div class="ttdeci">BOOL MDIRemoveSysMenu(HMENU hMenuFrame, HWND hwndChild, BOOL fRedraw)</div><div class="ttdef"><b>Definition:</b> <a href="a00197_source.html#l00314">mdimenu.c:314</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_885cc87fac2d91e269af0a5a959fa5f6.html">E:</a></li><li class="navelem"><a class="el" href="dir_4e091ed8704426a7a4980368ba259fde.html">git</a></li><li class="navelem"><a class="el" href="dir_cd70cb5eb491250157f2d55d3ff4b13e.html">backup</a></li><li class="navelem"><a class="el" href="dir_ba2b673b566ba104b956abdc6dec0552.html">org</a></li><li class="navelem"><a class="el" href="dir_5bb0003d7907b45051943541418399f5.html">ntuser</a></li><li class="navelem"><a class="el" href="dir_caf01b281dbc7d7ffe410ecf117b6142.html">client</a></li><li class="navelem"><a class="el" href="a00200.html">mdiwin.c</a></li>
    <li class="footer">制作者
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
